Systems and method of controlling game operations based on touch input

ABSTRACT

A direction of a first control is determined based on a component in the first axial direction of a difference between a first region reference coordinate point and a coordinate point of a coordinate input performed in the first region. A direction of a second control is determined based on a component in a second axial direction of a difference between a second region reference coordinate point and a coordinate point of the coordinate input performed in the second region. When the coordinate input is started in the second region, and thereafter the coordinate input indicates a coordinate point in the first region, the reference coordinate point is set in the first or the second region, and the direction of the first control is determined based on a component in the first axial direction of a difference between the reference coordinate point and the coordinate point in the first region.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to Japanese Patent Application Nos.2020-117675 and 2020-117676, filed on Jul. 8, 2020, the entire contentsof which are incorporated herein by reference.

FIELD

The technology disclosed herein relates to storage media storinginformation processing programs, information processing apparatuses,information processing systems, and information processing methods, andmore specifically, to, for example, a storage medium storing aninformation processing program, information processing apparatus,information processing system, and information processing method thatexecute a process based on a touch operation.

BACKGROUND AND SUMMARY

There are conventionally handheld terminals that perform informationprocessing based on a touch operation. In some such handheld terminals,when the handheld terminal is in portrait position, the handheldterminal is in a mode in which the handheld terminal is automaticallycontrolled, and when the handheld terminal is in landscape position, acharacter is moved by an operation performed by the user's left hand,and a viewing direction is changed by an operation performed by theuser's right hand.

However, in a process performed in the above handheld terminal, anoperation object that is being changed may be changed to anotheroperation object during a touch operation, resulting in confusionoccurring in an operation result.

With this in mind, it is an object of this non-limiting example toprovide a storage medium storing an information processing program,information processing apparatus, information processing system, andinformation processing method that can provide improved operability in atouch operation.

To achieve the above, this non-limiting example has the followingfeatures, for example.

A non-limiting example configuration of a non-transitorycomputer-readable storage medium storing an information processingprogram of this non-limiting example is carried out by a computer of aninformation processing apparatus that controls a game using a coordinateinput detected by a touch input device having a touch region. Theinformation processing program causes a computer to at least: set afirst and a second region in the touch region, wherein the first andsecond regions are arranged side by side in a first axial directionwithout overlapping each other; set a first region reference coordinatepoint as a reference coordinate point in the first region based on thecoordinate input performed in the first region, and setting a secondregion reference coordinate point as a reference coordinate point in thesecond region based on the coordinate input performed in the secondregion; determine a direction of the first control based on a componentin the first axial direction of a difference between the first regionreference coordinate point and a coordinate point of the coordinateinput performed in the first region after the setting of the firstregion reference coordinate point; and determine a direction of thesecond control based on a component in a second axial direction of adifference between the second region reference coordinate point and acoordinate point of the coordinate input performed in the second regionafter the setting of the second region reference coordinate point, thesecond axial direction being different from the first axial direction.When the coordinate input is started in the second region, andthereafter, the coordinate input is continued, so that the coordinateinput indicates a coordinate point in the first region, the referencecoordinate point is set in the first region or the second region, basedon the coordinate point of the coordinate input, and the direction ofthe first control is determined based on a component in the first axialdirection of a difference between the reference coordinate point and thecoordinate point in the first region.

With the above configuration, even when a touch operation is startedfrom the second region which is not intended by the user, control is notperformed by a touch operation performed in the second region, and ischanged to a control that is performed by an operation using the firstregion intended by the user. Therefore, an operation object that isbeing changed is not changed to another operation object during thetouch operation, resulting in an improvement in operability in a touchoperation.

The reference coordinate point may be moved to approach the coordinatepoint of the coordinate input according to the distance between thecoordinate point of the coordinate input and the reference coordinatepoint.

With the above configuration, the reference coordinate point follows thecoordinate input. Therefore, a most recent operation direction intendedby the user can be used in control.

When the coordinate input is started in the second region, andthereafter, the coordinate input is continued, so that the coordinateinput indicates a coordinate point in the first region, a coordinatepoint at which the coordinate input has entered the first region may beset as the reference coordinate point.

With the above configuration, a position at which the coordinate inputhas entered an operation region intended by the user is set as thereference coordinate point. Therefore, an operation input intended bythe user can be performed using the operation region.

The direction of the second control may not be determined by thecomponent in the second axial direction of the difference between thefirst region reference coordinate point and the coordinate point of thecoordinate input performed in the first region after the setting of thefirst region reference coordinate point.

With the above configuration, when a touch operation for the firstcontrol is being performed, the second control can be prevented frombeing undeliberately performed due to detection of the component in thesecond axial direction of the touch operation although the secondcontrol is not intended by the user. Thus, such an incorrect operationcan be prevented.

The direction of the first control may not be determined by thecomponent in the first axial direction of the difference between thesecond region reference coordinate point and the coordinate point of thecoordinate input performed in the second region after the setting of thesecond region reference coordinate point.

With the above configuration, when a touch operation for the secondcontrol is being performed, the first control can be prevented frombeing undeliberately performed due to detection of the component in thefirst axial direction of the touch operation although the first controlis not intended by the user. Thus, such an incorrect operation can beprevented.

Even when the first control based on the coordinate input performed inthe first region after the setting of the first region referencecoordinate point is being performed, the second control based on thecoordinate input in the second region may be performed.

With the above configuration, the first control and the second controlcan be performed simultaneously or in parallel.

The touch input device may have a rectangular touch region having afirst and a second side, the first side being longer than the secondside.

With the above configuration, operability in a touch operation using arectangular touch region can be improved.

The first axial direction may be parallel to the first side.

With the above configuration, operability in a touch input performed inthe longer-axis direction of a touch region can be improved.

One half region in the first axial direction of the touch region may beset as the first region, and the other half region in the first axialdirection of the touch region may be set as the second region.

With the above configuration, the same operability can be ensured in atouch operation using the first region and a touch operation using thesecond region.

The first control may move a character object disposed in the virtualspace.

With the above configuration, the operability of moving a characterobject can be improved.

The second control may move another object from a character objectdisposed in the virtual space.

With the above configuration, the operability of moving another objectfrom a character object can be improved.

This non-limiting example may be carried out in the form of aninformation processing apparatus, information processing system, andinformation processing method.

According to this non-limiting example, operability in touch operationsusing a plurality of operation regions can be improved.

These and other objects, features, aspects and advantages of the presentexemplary embodiment will become more apparent from the followingdetailed description of the present exemplary embodiment when taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing a non-limiting example of an informationprocessing system 1 according to this non-limiting example;

FIG. 2 is a block diagram showing a non-limiting example configurationof an information processing apparatus 3;

FIG. 3 is a block diagram showing a non-limiting example configurationof a server 200;

FIG. 4 is a diagram showing a non-limiting example game image displayedon a display unit 35 of the information processing apparatus 3 in aportrait-hold operation in a first mode;

FIG. 5 is a diagram showing a non-limiting example game image displayedon the display unit 35 of the information processing apparatus 3 in aportrait-hold operation in the first mode;

FIG. 6 is a diagram showing a non-limiting example in which a movementdirection of a player object PO is controlled with reference to adisplay screen;

FIG. 7 is a diagram showing a non-limiting example in which an action offiring an item I is controlled with reference to the display screen;

FIG. 8 is a diagram for describing a non-limiting example ofdetermination regions for determining an operation of firing an item Iwith reference to the display screen;

FIG. 9 is a diagram showing a non-limiting example game image displayedon the display unit 35 of the information processing apparatus 3 in aportrait-hold operation in the first mode;

FIG. 10 is a diagram showing a non-limiting example game image displayedon the display unit 35 of the information processing apparatus 3 in aportrait-hold operation in the first mode;

FIG. 11 is a diagram showing a non-limiting example game image displayedon the display unit 35 of the information processing apparatus 3 in aportrait-hold operation in the first mode;

FIG. 12 is a diagram showing a non-limiting example game image displayedon the display unit 35 of the information processing apparatus 3 in aportrait-hold operation in the first mode;

FIG. 13 is a diagram showing a non-limiting example game image displayedon the display unit 35 of the information processing apparatus 3 in alandscape-held operation in a second mode;

FIG. 14 is a diagram showing a non-limiting example of main data andprograms stored in a storage unit 32 of the information processingapparatus 3;

FIG. 15 is a flowchart showing a non-limiting example of a processexecuted in the information processing apparatus 3;

FIG. 16 is a subroutine showing a detailed non-limiting example of aportrait-hold operation determination process in step S105 of FIG. 15 ;

FIG. 17 is a subroutine showing a detailed non-limiting example of aleft-side operation determination process in step S106 of FIG. 15 ; and

FIG. 18 is a subroutine showing a detailed non-limiting example of aright-side operation determination process in step S107 of FIG. 15 .

DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS

An information processing system according to this non-limiting examplewill be described with reference to FIG. 1 . As shown in FIG. 1 , aninformation processing system 1 that is a non-limiting example of theinformation processing system of the non-limiting example, includesinformation processing apparatuses 3 and a server 200, which areconnected together through a network 100. Although FIG. 1 shows aplurality of information processing apparatuses 3, the informationprocessing system 1 may include only a single information processingapparatus 3.

The information processing apparatuses 3 are configured to be able toconnect to the network 100 through wireless or wired communication. Theinformation processing apparatuses 3 and the server 200 constitute aclient-server system. For example, the information processingapparatuses 3 can execute a predetermined application (e.g., a gameapplication, etc.). The information processing apparatuses 3 can connectto and communicate with the server 200 through the network 100 byexecuting the above predetermined application. For example, theinformation processing apparatuses 3 can execute an informationprocessing program that is stored in a replaceable storage medium, suchas a memory card or an optical disc, or is received from anotherapparatus. The information processing apparatuses 3 may be a typicalpersonal computer, stationary game machine, mobile telephone, handheldgame console, personal digital assistant (PDA), etc.

Next, the information processing apparatus 3 will be described withreference to FIG. 2 . FIG. 2 is a block diagram showing a non-limitingexample configuration of the information processing apparatus 3. In FIG.2 , the information processing apparatus 3 includes a control unit 31, astorage unit 32, a program storage unit 33, an input unit 34, a displayunit 35, a communication unit 36, and an inertial sensor 37. It shouldbe noted that the information processing apparatus 3 may include one ormore devices including an information processing device including atleast the control unit 31, and other devices.

The control unit 31 is an information processing means (computer) forexecuting various information processes, such as a CPU. For example, thecontrol unit 31 has a function of executing the above application toperform information processes such as a game process described below,and data transmission and reception processes through the server 200.This function is performed by the control unit 31 (e.g., a CPU)executing predetermined programs.

The storage unit 32 stores various items of data that are used when thecontrol unit 31 executes the above information processes. The storageunit 32 is, for example, a memory that can be accessed by the controlunit 31 (e.g., a CPU).

The program storage unit 33 stores programs. The program storage unit 33may be any storage device (storage medium) that can be accessed by thecontrol unit 31. For example, the program storage unit 33 may be astorage device that is provided in the information processing deviceincluding the control unit 31, or a storage medium that is removablyattached to the information processing device including the control unit31. The program storage unit 33 may be a storage device (e.g., a server,etc.) that is connected to the control unit 31 through a network. Thecontrol unit 31 (CPU) may read all or a portion of a game program intothe storage unit 32 and execute the read program with appropriatetiming.

The input unit 34 is an input device that can be operated by a user. Theinput unit 34 may be any suitable input device. As a non-limitingexample, the input unit 34 may be a touch panel provided on a screen ofthe display unit 35. For example, the touch panel may be of any type.The touch panel may be either of a type that allows a multi-touch input(e.g., a capacitive type) or of a type that allows a single-touch input(e.g., a resistive type). It should be noted that the input unit 34corresponds to a non-limiting example of a touch input device.

The display unit 35 displays an image according to an instruction fromthe control unit 31. It should be noted that when the informationprocessing apparatus 3 is a stationary game apparatus or a personalcomputer, the display unit 35 may be separated from the informationprocessing apparatus 3. In this non-limiting example, the display unit35 includes a touchscreen provided with a touch panel (the input unit34) at a surface thereof, and a rectangular display region and touchregion that have a first side and a second side, the first side beinglonger than the second side.

The communication unit 36, which is a predetermined communicationmodule, exchanges data with another apparatus (e.g., the server 200) oranother information processing apparatus 3 through the network 100.

The inertial sensor 37 includes, for example, an acceleration sensorand/or an angular velocity sensor. For example, the acceleration sensordetects the magnitudes of accelerations along three orthogonal axialdirections of the information processing apparatus 3 (the display unit35). It should be noted that the acceleration sensor may detect anacceleration along one or two axial directions. The angular velocitysensor detects angular velocities about the three axes. It should benoted that the angular velocity sensor may detect an angular velocityabout one or two axes. The inertial sensor 37 is connected to thecontrol unit 31. A detection result of the acceleration sensor and/orangular velocity sensor is output to the control unit 31. Based on thedetection result of the inertial sensor 37, the control unit 31 cancalculate information about a motion and/or orientation of theinformation processing apparatus 3 (the display unit 35), e.g., anorientation of the information processing apparatus 3 (the display unit35) in real space with respect to the direction of gravity.

Next, the server 200 will be described with reference to FIG. 3 . FIG. 3is a block diagram showing a non-limiting example configuration of theserver 200.

The server 200 has a communication unit 201, a control unit 202, and astorage unit 203. The communication unit 201 communicates with theinformation processing apparatuses 3, etc., through the network 100 byexchanging communication packets. As a non-limiting example, the controlunit 202 performs a process of managing the progression of a gameperformed along with the information processing apparatus 3, a processof managing in-game money (e.g., coins), game items, and game objects(e.g., pieces of equipment used in a game), etc., that are purchased bythe user, a process of managing the probability of winning a slotlottery, and a process of managing information about payment orcharging. The control unit 202 also establishes a communication link tothe information processing apparatuses 3, etc., through thecommunication unit 201, and performs data transmission control androuting on the network 100. When a game is performed along with aplurality of information processing apparatuses 3, the control unit 202manages a pairing or grouping of information processing apparatuses 3that perform the game, and data communication between those informationprocessing apparatuses 3. The storage unit 203 stores programs that areexecuted by the control unit 202, various items of data used for theabove processes, various items of data used for communication with theinformation processing apparatuses 3, etc. When the system employs apredetermined log-in process for data exchange performed through thenetwork 100, the server 200 may perform an authentication process todetermine whether or not a user who tries to log in is an authorizeduser. The server 200 may be a single server machine or may include aplurality of server machines.

Next, before describing specific processes performed by the informationprocessing apparatus 3 and the server 200, a non-limiting examplemovement process and firing process performed in the informationprocessing system 1 will be outlined with reference to FIGS. 4-8 . Inthe non-limiting example movement and firing processes, the informationprocessing system 1 is used to operate a movement direction of a playerobject PO (movable object) and firing of an item I (another object). Itshould be noted that FIG. 4 is a diagram showing a non-limiting examplegame image displayed on the display unit 35 of the informationprocessing apparatus 3. FIG. 5 is a diagram showing a non-limitingexample game image displayed on the display unit 35 of the informationprocessing apparatus 3. FIG. 6 is a diagram showing a non-limitingexample in which the movement direction of the player object PO iscontrolled with reference to a display screen. FIG. 7 is a diagramshowing a non-limiting example in which an action of firing an item I iscontrolled with reference to the display screen. FIG. 8 is a diagram fordescribing non-limiting example determination regions for determining anoperation of firing an item I with reference to the display screen.Although, in the description that follows, a game is used as anon-limiting example application executed in the information processingapparatus 3, other applications may be executed in the informationprocessing apparatus 3.

In this non-limiting example, a plurality of operation modes including afirst and a second mode are prepared. Specifically, the first mode is aportrait-hold operation mode in which the user holds and operates thedisplay unit 35 with the upward/downward direction of a displayed imagein parallel to a first side direction (longer-axis direction) of thedisplay unit 35, and a second side direction (shorter-axis direction) ofthe display unit 35 close to the horizontal direction of real space (forexample, the display unit 35 is held and operated by a single hand, andthis holding manner of the display unit 35 is referred to as“portrait-hold” (see FIG. 4 )). The second mode is a landscape-holdoperation mode in which the user holds and operates the display unit 35with the upward/downward direction of a displayed image in parallel tothe second side direction (shorter-axis direction) of the display unit35, and the first side direction (longer-axis direction) of the displayunit 35 close to the horizontal direction of real space (for example,the display unit 35 is held and operated by both hands, and this holdingmanner of the display unit 35 is referred to as “landscape-hold” (seeFIG. 14 )). In the description with reference to FIGS. 4-9 , an overviewof the above example movement and firing processes is described using anon-limiting example of the portrait-hold operation in the first mode.

In FIG. 4 , the display unit 35 of the information processing apparatus3 being held in portrait position displays a game image corresponding toa game played in the information processing apparatus 3. As anon-limiting example of such a game image, FIG. 4 shows a scene in whichthe player object PO performs a racing game. For example, in the game,the player object PO sits on a cart and drives the cart on a courseprovided in a virtual world. On the course, an opponent object(s) EOsits on and drives another cart. These objects compete to be first toreach a goal provided on the course. A virtual camera for generating agame image is disposed behind the player object PO traveling on thecourse. It should be noted that when the player object PO deviates fromthe travel direction of the course due to spinning, drifting, etc., thevirtual camera may be still disposed at a position where the playerobject PO is seen from behind the player object PO (i.e., the virtualcamera is aimed toward the player object PO), or may be disposed at aposition where the player object PO is seen from behind along the traveldirection of the course (i.e., the virtual camera is aimed in the traveldirection of the course).

As shown in FIG. 4 , the movement direction of the player object PO canbe controlled by performing an operation of touching the touch panel(input unit 34) provided on the screen of the display unit 35 being heldin portrait position. As a non-limiting example, the player object PO iscontrolled to automatically travel forward along the course, and theleftward/rightward movement direction of the player object PO iscontrolled by the user's operation (e.g., a steering operation).Specifically, when a touch operation of swiping rightward is performedwith reference to the position where the touch panel of the display unit35 being held in portrait position was first touched (initial touchposition), the movement direction of the player object PO is changed toa rightward direction. When a touch operation of swiping leftward isperformed with reference to an initial touch position on the touch panelof the display unit 35 being held in portrait position, the movementdirection of the player object PO is changed to a leftward direction.For example, FIG. 4 shows a reference position R indicating a setreference coordinate point (e.g., an initial touch position on the touchpanel), and a touch position T indicating a current touch position(actually, images indicating the reference position and the currenttouch position are not displayed on the display unit 35, while thereference position R indicating the reference position and the touchposition T indicating the touch position are each indicated by a dashedline for the sake of convenience in FIGS. 4 and 5 ). Because the touchposition T is located to the right of the reference position R, themovement direction of the player object PO is changed to a rightwarddirection (direction “a” in FIG. 4 ). It should be noted that the playerobject PO may not be controlled to automatically travel forward alongthe course, and may be caused to travel according to the user'sacceleration operation. The player object PO may also be controlled tobe automatically steered to turn left and right along the course. Forexample, when the course curves to the right, the movement direction ofthe player object PO may be changed to a rightward direction to someextent even without the user's steering operation, and in this case,when the user performs a rightward steering operation, the movementdirection of the player object PO may be changed to a rightwarddirection to a further extent. It should be noted that the control ofthe movement direction of the player object PO corresponds to anon-limiting example of a first control.

The display unit 35 also displays a mode change button IB for giving aninstruction to perform control related to movement of the player objectPO. Here, the mode change button IB is an image indicating a touchregion for selecting a movement (travel) mode of the player object POcorresponding to the swiping touch operation. Specifically, the modechange button IB shown in FIG. 4 is displayed at or near the center of alower portion of the display screen with the display unit 35 held inportrait position to indicate a circular region that is used in a touchoperation, at that position, and a selectable travel mode (“drift” inthe non-limiting example of FIG. 4 ) is indicated in the circularregion. When an operation of first touching followed by swiping isperformed inside the circular region indicated by the mode change buttonIB, the player object PO changes the movement direction to the directionof that swiping in the travel mode specified by the mode change buttonIB (in the non-limiting example of FIG. 4 , the player object PO changesthe movement direction while drifting). When an operation of firsttouching followed by swiping is performed outside the circular regionindicated by the mode change button IB, the player object PO changes themovement direction to the direction of that swiping in a normal travelmode (in the non-limiting example of FIG. 4 , a travel mode in whichtravel is performed by operating a “steering wheel”). It should be notedthat a travel mode which can be specified using the mode change buttonIB may be previously specified according to the user's operation. As anon-limiting example, if the travel mode in which travel is performed byoperating a “steering wheel” has been set by the user's operation usingthe mode change button IB, the player object PO may change the movementdirection in the travel mode in which travel is performed by operating a“steering wheel” when an operation of first touching followed by swipingis performed inside the circular region indicated by the mode changebutton IB, and may change the movement direction while drifting when anoperation of first touching followed by swiping is performed outside thecircular region indicated by the mode change button IB. Alternatively, aplurality of mode change buttons IB indicating different travel modesmay be displayed on the display unit 35.

An action of the player object PO firing a possessed item I can becontrolled by performing a touch operation on the touch panel of thedisplay unit 35 being held in portrait position. For example, aplurality of possession frames HF each showing an item I possessed bythe player object PO is provided in an upper portion of the displayscreen of the display unit 35 being held in portrait position. In thenon-limiting example possession frames HF of FIG. 4 , three items I1,12, and 13 can be possessed by the respective possession frames. One ofthe items I in the possession frames HF possessed by the player objectPO is displayed, as a ready-to-use item IP, at a ready-to-use positionbehind the cart of the player object PO. For example, the ready-to-useitem IP is one of the items I in the possession frames HF that wasacquired earliest. In the non-limiting example of FIG. 4 , the item I1(a bunch of bananas) displayed in the leftmost possession frame HF isdisplayed as the ready-to-use item IP at the ready-to-use position. Itshould be noted that control of an operation of firing an item Icorresponds to a non-limiting example of a second control.

In FIG. 5 , when a touch operation of swiping the touch panel of thedisplay unit 35 being held in portrait position upward is performed,then if the ready-to-use item IP disposed at the ready-to-use positionof the player object PO is fireable, the item IP is fired as aprojectile item IM toward the front of the player object PO. It shouldbe noted that the ready-to-use item IP and the projectile item IM aretypically the same object, and alternatively may be different objects.Some types of ready-to-use items IP (e.g., a banana item) disposed atthe ready-to-use position may be fired as the projectile item IM towardthe back of the player object PO when a touch operation of swiping thetouch panel of the display unit 35 being held in portrait positiondownward is performed. It should be noted that if the direction in whichthe ready-to-use item IP disposed at the ready-to-use position of theplayer object PO is fired is fixed, the item IP may be fired as theprojectile item IM in the fixed firing direction no matter whether atouch operation of swiping the touch panel of the display unit 35 beingheld in portrait position is performed upward or downward. Some types ofready-to-use items IP disposed at the ready-to-use position may not befired from the player object PO and may be used by the player object POitself. In this case, when a touch operation of swiping the touch panelof the display unit 35 being held in portrait position upward ordownward is performed, the ready-to-use item IP disposed at theready-to-use position of the player object PO is used by the playerobject PO. It should be noted that the possession frames HP may bedisposed in the virtual space, or may be disposed, overlaying thedisplay screen.

When the player object PO fires the projectile item IM, an effect thatis advantageous to the progression of a race performed by the playerobject PO can be obtained, depending on the type of the projectile itemIM. For example, when the projectile item IM indicating a carapacecollides with the opponent object EO, the collision may decelerate orstop, i.e., obstruct, the traveling of the opponent object EO, and maycause damage to the opponent object EO, depending on the extent of thecollision. When the projectile item IM indicating a bunch of bananascollides with the opponent object EO, the projectile item IM may affectthe opponent object EO such that the opponent object EO slips on a road,so that the traveling of the opponent object EO is decelerated orstopped. It should be noted that the projectile item IM representing acarapace and the projectile item IM representing a banana correspond toa non-limiting example of an attack item that decelerates or stops anobject colliding therewith.

Alternatively, the use of the ready-to-use item IP may temporarilyincrease the ability of the player object PO itself for a predeterminedperiod of time. For example, when the ready-to-use item IP indicating amushroom is used, the speed of the player object PO is increased for apredetermined period of time. It should be noted that the use of theready-to-use item IP may provide an effect of increasing the size of theplayer object PO itself for a predetermined period of time or an effectof increasing in-game coins possessed by the player object PO.

When an item I has been used, the item I is not currently possessed bythe player object PO, and therefore, the ready-to-use item IP displayedat the ready-to-use position is erased, and the item I in the possessionframe HF corresponding to the ready-to-use item IP is also erased (inthe non-limiting example of FIG. 5 , the item I1 displayed in theleftmost possession frame HF). As a result, the possession frame HF thathas displayed the item I that was fired as the projectile item IM ischanged to an empty frame E in which no item I is displayed. Forexample, in the game, the player object PO is sitting on and driving acart on a course provided in a virtual world, and can acquire a new itemI by passing by or through an item box IB placed on the course andthereby opening the item box IB. It should be noted that the playerobject PO can acquire a new item I only if there is a possession frameHF that is an empty frame E.

As described above, in the non-limiting example movement and firingprocesses performed in the first mode in the information processingsystem 1, the movement direction of the player object PO is changed whena swipe input to the touch panel of the display unit 35 being held inportrait position is performed leftward or rightward, and the firingoperation of the item I is controlled when a swipe input to the touchpanel is performed upward or downward. A non-limiting example in whichthe direction of a swiping input is determined will now be describedwith reference to FIGS. 6 and 7 .

In FIG. 6 , the leftward/rightward movement direction of the playerobject PO is set according to the leftward/rightward component in thedisplay screen of a swipe input to the touch panel of the display unit35 being held in portrait position. Specifically, in a touch operationon the touch panel, a reference coordinate point RO where the touchpanel is first touched, and a current touch position coordinate point Tof a swipe operation performed, continuously following the initialtouch, are set based on the display screen coordinate system of thedisplay unit 35. For example, as shown in FIG. 6 , in the display screenof the display unit 35 being held in portrait position, defined is adisplay screen coordinate system in which the X-axis (the rightwarddirection is the positive direction of the X-axis) is a first axis thatextends in the leftward/rightward direction (shorter-axis direction) ofthe display screen, and the Y-axis (the upward direction is the positivedirection of the Y-axis) is a second axis which extends in theupward/downward direction (longer-axis direction) of the display screenand is orthogonal to the first axis. In this case, the referencecoordinate point is set as RO(X0, Y0), and the current touch positioncoordinate point T is set as T(Xt, Yt). In this case, theleftward/rightward component (X-axis direction component) in the displayscreen of a swipe input is calculated by Xt−X0, and the upward/downwardcomponent (Y-axis direction component) in the display screen of theswipe input is calculated by Yt−Y0. In the non-limiting example, if theX-axis direction component Xt−X0 has a positive value, the movementdirection of the player object PO is changed to a rightward direction bya steering wheel angle corresponding to the absolute value of Xt−X0. Ifthe X-axis direction component Xt−X0 has a negative value, the movementdirection of the player object PO is changed to a leftward direction bya steering wheel angle corresponding to the absolute value of Xt−X0.Thereafter, when the touch is released from the touch panel, thereference coordinate point RO and the current touch position coordinatepoint T are initialized, and the movement direction of the player objectPO is changed such that the steering wheel angle is returned to thestraight-ahead position by a predetermined change amount.

It should be noted that the steering wheel angle corresponding to theabsolute value of Xt−X0 may be changed, depending on the position of theplayer object PO on the course. For example, when the player object POis traveling at a center of the course, the steering wheel angle setaccording to the user's operation may be relatively increased, and whenthe player object PO is traveling at an end of the course, the steeringwheel angle set according to the user's operation may be relativelydecreased. The cart being driven by the player object PO may slip, i.e.,drift, depending on the steering wheel angle set according to the user'soperation, the course conditions, the performance of the cart, theselected travel mode, etc. In this case, the movement direction of thecart of the player object PO is not consistent with the steering wheelangle, and as a result, the movement direction of the player object POmay not completely be consistent with the magnitude of theleftward/rightward component of a swipe input to the touch panel.

In FIG. 7 , an action of firing an item I is controlled according to theupward/downward component in the display screen of a swipe input to thetouch panel of the display unit 35 being held in portrait position.Specifically, in a touch operation on the touch panel, a referencecoordinate point Rm where the touch panel is first touched (the sameposition as that of the reference coordinate point RO when the touchpanel is first touched), and a current touch position coordinate point Tof a swipe operation performed, continuously following the initialtouch, are set based on the display screen coordinate system of thedisplay unit 35. For example, as shown in FIG. 7 , as in FIG. 6 , in thedisplay screen of the display unit 35 being held in portrait position,defined is a display screen coordinate system in which the X-axis (therightward direction is the positive direction of the X-axis) is a firstaxis that extends in the leftward/rightward direction (the shorter-axisdirection) of the display screen, and the Y-axis (the upward directionis the positive direction of the Y-axis) is a second axis that extendsin the upward/downward direction (the longer-axis direction) of thedisplay screen and is orthogonal to the first axis. In this case, thereference coordinate Rm is set as Rm(Xm, Ym), and the current touchposition coordinate point T is set as T(Xt, Yt). Thereafter, a vector FDfrom the reference coordinate point Rm to the current touch positioncoordinate point T is calculated, and based on the direction of thevector FD, it is determined whether the direction of the swipe input tothe touch panel of the display unit 35 being held in portrait positionis upward or downward.

In the process of determining the upward/downward component in thedisplay screen of a swipe input to the touch panel of the display unit35 being held in portrait position, a positional relationship betweenthe reference coordinate point Rm and the current touch positioncoordinate point T is maintained to satisfy a predetermined condition.If the condition fails to be satisfied, the reference coordinate pointRm is moved so as to satisfy the condition. For example, the length of apath of touch positions (touch input path) formed between the referencecoordinate point Rm and the current touch position coordinate point T isgreater than a threshold L, the reference coordinate point Rm is movedon the touch input path toward the current touch position coordinatepoint T (a direction “b” in FIG. 7 ) such that the length becomessmaller than or equal to the threshold L. Thus, when the touch panel isfirst touched, the reference coordinate point Rm is set at the positionwhere the touch panel is first touched, and subsequently, when thecurrent touch position coordinate point T is located at least athreshold L away from the reference coordinate point Rm, the referencecoordinate point Rm is moved, following the current touch positioncoordinate point T. It should be noted that the reference coordinatepoint Rm that is moved on the touch input path toward the current touchposition coordinate point T such that the length becomes smaller than orequal to the threshold L, may be moved until the length becomes equal tothe threshold L, at a predetermined rate corresponding to the time ittakes for the length to become smaller than or equal to the threshold L.Alternatively, the reference coordinate point Rm may be moved such thatthe length instantaneously becomes smaller than or equal to thethreshold L. In the process of moving the reference coordinate point Rmtoward the current touch position coordinate point T, touch positioncoordinate points T that were recorded in the past and are the thresholdL or greater away from the current touch position coordinate point T maybe successively erased based on the predetermined rate, and the touchposition coordinate point T that becomes most previous due to theerasing process may be set as the reference coordinate point Rm. Thus,by causing the reference coordinate point Rm to move along the touchinput path, the positional relationship between the reference coordinatepoint Rm and the current touch position coordinate point T is maintainedsuch that the touch input path length therebetween is smaller than orequal to L, and the vector FD from the moved reference coordinate pointRm to the current touch position coordinate point T is calculated. Itshould be noted that while a touch input is being performed, thereference coordinate point Rm may be moved on the touch input path suchthat the reference coordinate point Rm invariably approaches the currenttouch position coordinate point T even when the length of the touchinput path between the reference coordinate point Rm and the currenttouch position coordinate point T is smaller than the threshold L.

If the length of the vector FD is greater than or equal to apredetermined length and the direction of the vector FD is within adetermination region, it is determined that a swipe input to the touchpanel of the display unit 35 being held in portrait position in theupward or downward direction of the display screen has been performed,and the ready-to-use item IP is fired as the projectile item IM in adirection based on the determination. For example, as shown in FIG. 8 ,a predetermined angle range around the positive direction of the Y-axisas a center thereof is set as a forward-direction determination regionUA, and a predetermined angle range around the negative direction of theY-axis as a center thereof is set as a backward-direction determinationregion LA. If the length of the vector FD is greater than or equal tothe predetermined length and the direction of the vector FD is withinthe forward-direction determination region UA, the ready-to-use item IPis fired as the projectile item IM toward the front of the player objectPO (e.g., directly toward the front of the player object PO). In thecase where the ready-to-use item IP is fireable toward the back of theplayer object PO, if the length of the vector FD is greater than orequal to the predetermined length and the direction of the vector FD iswithin the backward-direction determination region LA, the ready-to-useitem IP is fired as the projectile item IM toward the back of the playerobject PO (e.g., directly toward the back of the player object PO).

It should be noted that the angle range of the backward-directiondetermination region LA may be set greater than the angle range of theforward-direction determination region UA. Typically, the downward swipeinput using a touch panel is more difficult than the upward swipe input.This is particularly significant when a touch operation is performedusing the thumb of a hand holding the information processing apparatus3. Therefore, if the condition for determining the relatively difficultswipe input is relatively relaxed, operability can be improved. Inaddition, the predetermined length for determining the length of thetouch input path formed between the reference coordinate point Rm andthe current touch position coordinate point T may be a threshold that ischanged, depending on the direction in which the length is determined.In order to relax the condition for determining the relatively difficultswipe input for the above reason, the length of the touch input pathrequired for determination of whether or not a swipe input is within thebackward-direction determination region LA may be smaller than thelength of the touch input path required for determination of whether ornot a swipe input is within the forward-direction determination regionUA. While, in the above process, the reference coordinate point Rm isassumed to move along the touch input path, the movement of thereference coordinate point Rm is not limited to this. For example, thereference coordinate point Rm may be moved on a straight line connectingbetween the reference coordinate point Rm and the current touch positioncoordinate point T toward the current touch position coordinate point Tsuch that the linear distance therebetween becomes smaller than or equalto a threshold L. Alternatively, the reference coordinate point Rm maybe fixed to the same position as that of the reference coordinate pointRO, i.e., an initial touch position. It should be noted that theforward-direction determination region UA and the backward-directiondetermination region LA set within different angle ranges correspond toa non-limiting example of a reference value having a different value.

The length of the touch input path formed between the referencecoordinate point Rm and the current touch position coordinate point T,which is used in the input determination, may be replaced with otherparameters. As a first non-limiting example, the length of the touchinput path formed between the reference coordinate point Rm and thecurrent touch position coordinate point T may be replaced with thelinear distance between the reference coordinate point Rm and thecurrent touch position coordinate point T. As a second non-limitingexample, the length of the touch input path formed between the referencecoordinate point Rm and the current touch position coordinate point Tmay be replaced with the length of the Y-axis component of the vectorFD. As a third non-limiting example, the length of the touch input pathformed between the reference coordinate point Rm and the current touchposition coordinate point T may be replaced with the length of thevector FD.

The process of determining the upward/downward component in the displayscreen of a swipe input to the touch panel of the display unit 35 beingheld in portrait position may be performed without the use of thereference coordinate point Rm. As a first non-limiting example, when thechange rate of a touch position in swiping to the current touch positioncoordinate point T (e.g., the length between the previously detectedtouch position coordinate point T to the currently detected touchposition coordinate point T, or the length of a touch input pathimmediately previously detected for a predetermined period of time) isgreater than or equal to a reference value, then if the direction of theswipe input whose change rate has been detected is within theforward-direction determination region UA or the backward-directiondetermination region LA, it may be determined that the swipe input tothe touch panel has been performed in the upward direction or thedownward direction of the display screen. As a second non-limitingexample, when the change rate of a touch position in swiping to thecurrent touch position coordinate point T is greater than or equal tothe reference value, then if the length of the Y-axis directioncomponent of the swipe input whose change rate has been detected isgreater than or equal to the predetermined length, it may be determinedthat the swipe input to the touch panel has been performed in the upwarddirection or the downward direction of the display screen.

The predetermined length that is a reference value for determining thelength of the touch input path formed between the reference coordinatepoint Rm and the current touch position coordinate point T may bechanged, depending on the user's swipe input. For example, if themagnitude of the leftward/rightward component Xt−X0 of the swipe inputis greater than or equal to a predetermined threshold, the predeterminedlength that is the reference value may be changed. As a non-limitingexample, when the magnitude of the leftward/rightward component Xt−X0 ofthe swipe input is greater than or equal to the predetermined threshold,then if the predetermined length that is the reference value isincreased, the player object PO's operation of greatly turning thesteering wheel to the left or right, or the player object PO's operationof performing so-called drifting, i.e., an operation of performing aswipe input having a great change amount, can be prevented from beingdetermined to be an operation of firing an item forward or backward,which is not actually intended by the user. As another non-limitingexample, when the magnitude of the leftward/rightward component Xt−X0 ofa swipe input is greater than or equal to the predetermined threshold,then if the predetermined length that is the reference value isdecreased, an operation of firing an item I can be performed during theplayer object PO's operation of greatly turning the steering wheel tothe left or right, or the player object PO's operation of performingso-called drifting, without a significant influence of the firingoperation on the leftward/rightward movement direction.

In the above non-limiting example, if the conditions that the length ofthe touch input path formed between the reference coordinate point Rmand the current touch position coordinate point T is greater than orequal to a predetermined length, and the direction of the vector 1-D iswithin a determination region, are satisfied, the projectile item IM isfired directly toward the front or back of the player object PO. Thiscan avoid the situation that if only the upward/downward component of aswipe input is used in the determination, it may be determined that theuser instructs to fire even when the user intends to and actuallyperforms a leftward/rightward swipe input, because the swipe inputcontains an upward/downward component. By setting the above conditions,an input can be correctly determined. In addition, by limiting thefiring direction to the direct forward direction or direct backwarddirection of the player object PO, an input error from that directioncan be accommodated, and therefore, the difficulty of the operation canbe taken into consideration. However, in the case where such an effectis not desired, the direction in which the projectile item IM is firedmay deviate from the direct forward direction or direct backwarddirection of the player object PO. For example, if the direction of thevector FD is within the forward-direction determination region UA, theprojectile item IM may be fired in a direction deviating from the directforward direction of the player object PO by an angle difference betweenthe positive direction of the Y-axis and the direction of the vector FD.Also, if the direction of the vector FD is within the backward-directiondetermination region LA, the projectile item IM may be fired in adirection deviating from the direct backward direction of the playerobject PO by an angle difference between the negative direction of theY-axis and the direction of the vector FD.

The direction in which the projectile item IM is fired may be varied,depending on the type of the player object PO or a piece of equipmentused by the player object PO (e.g., a cart driven by the player objectPO).

In the above description, the magnitude of the leftward/rightwardcomponent in the display screen of a swipe input to the touch panel ofthe display unit 35 being held in portrait position that is calculatedfor a steering operation is the magnitude of the first-axis(shorter-axis) direction component of the difference between thereference coordinate point RO where the touch panel is first touched andthe current touch position coordinate point T in a swipe operationperformed, continuously following the initial touch, or alternately, maybe the reference coordinate point Rm that is moved, following thecurrent touch position coordinate point T. In that case, the magnitudeof the leftward/rightward component in the display screen of a swipeinput is the magnitude of the first-axis (shorter-axis) directioncomponent of the difference between the reference coordinate point Rmthat is moved, following the current touch position coordinate point T,and the current touch position coordinate point T in a swipe operationperformed, continuously following the initial touch.

Concerning the use of an item, an item I in a possession frame HF or theready-to-use item IP at the ready-to-use position, which is displayed onthe display screen, may be used by performing a touch operation (e.g.,tap operation) on that item displayed on the touch panel. Specifically,the ready-to-use item IP is used at the timing that that item on thetouch panel is first touched or at the timing that a touch is releasedfrom that item on the touch panel after being first touched thereon. Inthis case, if the item operated by such a touch operation is a type ofobject that is fireable from the player object PO, the direction inwhich the item is to be fired may be set to a default direction. Itshould be noted that even when an item I in a possession frame HF or theready-to-use item IP at the ready-to-use position, which is displayed onthe display screen, is used by performing a touch operation on that itemon the touch panel, the direction in which that item is fired may bechanged, depending on the direction of a swipe operation (dragoperation) (e.g., the upward direction or downward direction of thedisplay unit 35 being held in portrait position).

The sizes of the determination regions for determining the inputdirection (the forward-direction determination region UA and thebackward-direction determination region LA) may be changed, depending onthe action of the player object PO. For example, when the player objectPO performs an action of facing in a direction different from thedirection of the steering wheel angle (e.g., a drifting action, aspinning action, etc.), the sizes of the determination regions may bechanged and reduced. When the player object PO performs an action offacing in a direction different from the direction of the steering wheelangle, the direction input by the user may fall within a determinationregion despite the operating user's intention. Therefore, by reducingthe determination regions according to the action of the player objectPO, the operation determination can be less likely to be contrary to theuser's intention.

In the above description, the movement direction of the player object POis controlled based on the magnitude of the leftward/rightward componentof a swipe input to the touch panel of the display unit 35 being held inportrait position. As long as at least the magnitude of theleftward/rightward component is used, other operations and otherdirection components may additionally be used. As a non-limitingexample, only if a predetermined operation (e.g., an operation ofpressing down a predetermined operation button, or a touch operation ona predetermined operation button image) is being performed, the movementdirection of the player object PO may be controlled based on themagnitude of the leftward/rightward component of a swipe input to thetouch panel of the display unit 35 being held in portrait position. Asanother non-limiting example, the movement direction of the playerobject PO may be controlled based on the magnitude of theleftward/rightward component of a swipe input to the touch panel of thedisplay unit 35 being held in portrait position, and in addition, atleast a portion of the upward/downward component thereof. In this case,the leftward/rightward movement direction of the player object PO iscontrolled based on the upward/downward component and leftward/rightwardcomponent of a swipe input. As a non-limiting example, a rightwardsteering amount may be set to 2 if the leftward/rightward component andupward/downward component of a swipe input are +1.73 and +1.00,respectively.

The action for an item I is controlled based on the upward/downwardcomponent of a swipe input to the touch panel of the display unit 35being held in portrait position. As long as at least the upward/downwardcomponent is used, other operations and other direction components mayadditionally be used. As a non-limiting example, only if a predeterminedoperation (e.g., an operation of pressing down a predetermined operationbutton, or a touch operation on a predetermined operation button image)is being performed, the action for an item I may be controlled based onthe magnitude of the upward/downward component of a swipe input to thetouch panel of the display unit 35 being held in portrait position. Asanother non-limiting example, the action for an item I may be controlledbased on the upward/downward component and leftward/rightward componentof a swipe input to the touch panel of the display unit 35 being held inportrait position. In this case, the firing of an item I may becontrolled based on the upward/downward component of a swipe input, andthe direction of the item I fired may be controlled based on theleftward/rightward component of the swipe input.

While, in the above description, the movement direction of the playerobject PO is controlled based on the magnitude of the leftward/rightwardcomponent of a swipe input to the touch panel of the display unit 35being held in portrait position, other elements may be controlled. Forexample, in the case where a game image as viewed from the player objectPO (i.e., a subjective view) is displayed, the movement direction of avirtual camera for generating the game image may be controlled based onthe magnitude of the leftward/rightward component of a swipe input tothe touch panel of the display unit 35 being held in portrait position.In addition, although the action for an item I is controlled based onthe upward/downward component of a swipe input to the touch panel of thedisplay unit 35 being held in portrait position, other elements may becontrolled. For example, actions such as an action of firing a beam, anaction of changing pieces of equipment, an action of changing targets,and an action of changing viewing fields or viewing directions, may becontrolled based on the upward/downward component of a swipe input tothe touch panel of the display unit 35 being held in portrait position.

In the above non-limiting example, if the conditions that the length ofthe vector FD is greater than or equal to a predetermined length and thedirection of the vector FD is within a determination region aresatisfied, the ready-to-use item IP is fired as the projectile item IMin a direction based on the determination. Alternatively, theready-to-use item IP may be fired as the projectile item IM with othertiming. For example, if the conditions that the length of the vector FDis greater than or equal to a predetermined length and the direction ofthe vector FD is within a determination region are satisfied, then whena touch is released from the touch panel, the ready-to-use item IP maybe fired as the projectile item IM in a direction based on thedetermination.

While, in the above non-limiting example, the position (ready-to-useposition) where an item I is fired as the projectile item IM is set to arear portion of the cart driven by the player object PO, an item I maybe fired at other positions. As a non-limiting example, the projectileitem IM may be fired from other portions of the cart driven by theplayer object PO, such as a front portion of the cart driven by theplayer object PO, or from near the cart. As another non-limitingexample, the ready-to-use position may be set at a firing positionprovided at an upper or lower end of the display screen or outside thecourse, and the projectile item IM may be fired from such a positionaway from the cart driven by the player object PO.

The speed at which the fired projectile item IM moves may be setaccording to the type of the projectile item IM, or may be changedaccording to the user's input. For example, the speed at which the firedprojectile item IM moves may be changed according to the speed of aswipe input for firing the projectile item IM (the speed at which atouch position is moved during the swipe input).

In the above description, if the length of the vector FD is greater thanor equal to a predetermined length and the direction of the vector FD iswithin a determination region, it is determined that a swipe input hasbeen performed on the touch panel of the display unit 35 being held inportrait position in the upward direction or downward direction of thedisplay device, and the ready-to-use item IP is fired as the projectileitem IM in a direction based on the determination. Alternatively, thedirection of a swipe input may be determined using the touch input path.For example, if the length of the touch input path formed between thereference coordinate point Rm and the current touch position coordinatepoint T is greater than or equal to a predetermined length, and thedirection of the vector FD is within a determination region, it may bedetermined that a swipe input has been performed on the touch panel ofthe display unit 35 being held in portrait position in the upwarddirection or downward direction of the display device.

Here, in the case where the direction of a swipe input is determinedusing the difference between a touch position coordinate point T apredetermined time before and a current touch position coordinate pointT, the determination of the swipe input direction is not completed untilthe predetermined time has passed since the initial touch. As anon-limiting example, in the case where the determination of the swipeinput direction is performed using a condition that the differencebetween the touch position coordinate point T of a touch performed 0.5sec before and the current touch position coordinate point T is greaterthan or equal to a predetermined value, the swipe input determinationmay not be performed for 0.5 sec even when great swiping is performedimmediately after the initial touch. This may reduce responsiveness forfiring an item, which may feel unnatural to the user. Meanwhile, in thecase where the swipe input direction is determined using the length ofthe touch input path formed between the reference coordinate point Rmand the current touch position coordinate point T, when great swiping isperformed immediately after the initial touch, the swipe input directionis immediately determined, and therefore, responsiveness for firing anitem is improved, so that the user does not feel unnatural.

It should be noted that as described above, when the length of the touchinput path is greater than the threshold L, more previous records aredeleted from the records of touch position coordinate points T at apredetermined rate until the length of the touch input path is smallerthan the threshold L, and after the deletion, the most previous touchposition coordinate point T is set as the reference coordinate point Rm.Thus, when the length of the touch input path is greater than thethreshold L, the process of resetting a more recent touch positioncoordinate point T of the records of touch position coordinate points Tas a new reference coordinate point Rm is repeatedly performed until thelength of the touch input path is smaller than or equal to the thresholdL. The resultant touch input path and reference coordinate point Rm areused to perform the above determination of the swipe input direction. Inthe case where the process of resetting a more recent touch positioncoordinate point T of the records of touch position coordinate points Tas a new reference coordinate point Rm is thus performed, it isdesirable that the “predetermined length” in the above condition thatthe length of the touch input path formed between the referencecoordinate point Rm and the current touch position coordinate point T isgreater than or equal to a predetermined length, which is adetermination condition for determining that a swipe input has beenperformed, should be set smaller than the threshold L.

Alternatively, the reference coordinate point Rm may be reset based on aperiod of time for which a touch input is being performed. For example,only a portion of the records of touch position coordinate points Tstored as the touch input path formed between the reference coordinatepoint Rm and the current touch position coordinate point T thatcorresponds to a predetermined number of times of processing (e.g., fiverecords of touch position coordinate points T corresponding to fiveframes) may be stored, and the swipe input direction may be determinedusing the portion of the records. As a non-limiting example, a valueobtained by comparing a touch position coordinate point T that is themost previous of the records and the current touch position coordinatepoint T that is the most recent record may be used as the touch inputpath. In this case, the touch position coordinate point T that is themost previous record serves as the reference coordinate point Rm. Thus,when the length of a touch input time for which a touch operation iscontinued to generate a touch input path is greater than a predeterminedtime (e.g., five frames), the process of resetting a newer touchposition coordinate point T of the records of touch position coordinatepoints T as a new reference coordinate point Rm is repeatedly performedso that the time it takes to generate the touch input path becomessmaller than or equal to the predetermined period of time, and theresultant touch input path and reference coordinate point Rm are used toperform the above determination of the swipe input direction. It shouldbe noted that if the records are not many enough for the predeterminednumber of times of processing, a value obtained by comparing a touchposition coordinate point T that is the most previous record and thecurrent touch position coordinate point T that is the most recent recordmay be used as the touch input path. It should be noted that thesefeatures of resetting of the reference coordinate point Rm based on theperiod of time for which a touch input is being performed can beapplied, as appropriate, to either the process using the “vector FD” orthe process using the “touch input path.”

The predetermined length that is a threshold for determining the lengthof the vector FD or the length of the touch input path may be setdifferently between the determination of an upward swipe operation andthe determination of a downward swipe operation. As a non-limitingexample, the predetermined length set for the determination of adownward swipe operation may be smaller than the predetermined lengthset for the determination of an upward swipe operation so that adownward swipe operation that is relatively difficult can be more easilydetermined.

The predetermined length that is a threshold for determining the lengthof the vector FD or the length of the touch input path may be changed,depending on a period of time that has passed since the initial touch.As a non-limiting example, if the period of time for which a touchoperation is continued is less than 0.2 sec, that period of time may be0.25 times as long as the threshold that is set when the period of timeis longer than or equal to 0.2 sec. As a result, when a swipe operationis performed immediately after the initial touch, the swipe operationcan be easily determined.

The predetermined length that is a threshold for determining the lengthof the vector FD or the length of the touch input path may be setdifferently between the determination of a swipe operation in onedirection and the subsequent determination of a swipe operation in theother direction. As a non-limiting example, when a touch operation iscontinued even after it is determined that a swipe operation has beenperformed in one of the upward direction and the downward direction, thepredetermined length for determining a swipe operation in the other ofthe upward direction and the downward direction may be increased by afactor of 1.5. As a result, even in the case where the user tends tomove their finger performing a touch operation backward to return thefinger to the original touch position after performing a swipe operationin one direction, the determination of a swipe operation performeddespite the user's intention can be prevented. It should be noted thatwhen the predetermined length that is a threshold for determining thelength of the vector FD or the length of the touch input path is changedand increased, the threshold L for maintaining the length of the touchinput path formed between the reference coordinate point Rm and thecurrent touch position coordinate point T may also be changed andincreased (e.g., the threshold L may be increased by a factor of 1.5).

Next, a non-limiting example of a first item lottery process performedin the information processing system 1 will be outlined with referenceto FIGS. 9 and 10 . In the non-limiting example first item lotteryprocess, if items I (game objects) possessed by the player object POsatisfy a predetermined combinational condition, an effect relativelyadvantageous to progression of a game is given to the player object PO.It should be noted that FIG. 9 is a diagram showing a non-limitingexample game image displayed on the display unit 35 of the informationprocessing apparatus 3. FIG. 10 is a diagram showing a non-limitingexample game image displayed on the display unit 35 of the informationprocessing apparatus 3.

As in FIGS. 4 and 5 , in FIG. 9 , a game image corresponding to a gameplayed in the information processing apparatus 3 is displayed on thedisplay unit 35 of the information processing apparatus 3. As anon-limiting example, FIG. 10 shows a scene that the player object POperforms a racing game. For example, in the game, the player object POis sitting on and driving a cart on a course provided in a virtualworld, and can acquire a new item I by passing by or through an item boxIB and thereby opening the item box IB placed on the course and therebyopening the item box IB. It should be noted that the player object POcan acquire a new item I only if there is a possession frame HF that isan empty frame E.

When the player object PO passes by or through an item box IB andthereby opens the item box IB, a lottery event for acquiring a new itemI is performed. For example, FIG. 9 shows a non-limiting example inwhich in response to the player object PO passing by or through an itembox IB, rotating display items IR indicating that a plurality of typesof items I are successively displayed and a lottery is being performedare displayed, i.e., the rotation lottery display is being performed, inall the possession frames HF (three frames). It should be noted that thelottery for acquiring an item I is not performed for a possession frameHF in which an item I is already displayed. Specifically, when apossession frame HF that is an empty frame E and a possession frame HFthat is displaying an item I coexist, the lottery is performed only forthe empty frame E. When there is no possession frame HF that is an emptyframe E, the lottery is not performed, and therefore, in this situation,the player object PO cannot acquire a new item I by the lottery. Itshould be noted that an item box IB may be placed at a specific positionon the course, or may appear on the course at any suitable position astime passes.

Items I that are displayed in a stationary state in possession frames HFare finally acquired by the player object PO through a lottery. Afterthe acquisition, the items I can be used by the player object PO one byone in a predetermined order (e.g., the order in which the items I havebeen acquired). By using an item I, the player object PO can obtain aneffect advantageous to progression of a race.

As shown in FIG. 10 , in the non-limiting example, if the same items Iare finally displayed in all the possession frames HF in a lottery, theuser wins a so-called “fever state” and can obtain an effect moreadvantageous to progression of a race performed by the player object PO.As a non-limiting example, when the player object PO is in the “feverstate,” an item that has caused the “fever state” can be continuouslyused for a predetermined fever period of time.

For example, in the non-limiting example of FIG. 10 , the item I1 thatis a carapace is displayed in a stationary state in the leftmostpossession frame HF, the item 12 that is a carapace is displayed in astationary state in the middle possession frame HF, and the item 13 thatis a carapace is displayed in a stationary state in the rightmostpossession frame HF, i.e., the same carapace item I is finally displayedin all the possession frames HF in a lottery. In this case, the “feverstate” caused by carapace items is continued for a predetermined periodof time, and an advantageous effect obtained by using a carapace item isgiven to the player object PO only during the predetermined feverperiod. For example, in the “fever state” caused by carapace items, aplurality of carapace items IF are disposed around the player object PO,indicating the “fever state” caused by carapace items to the user. Whenthe user is performing a certain touch operation on the touch panel, aprojectile carapace item IM is continually fired toward the front of theplayer object PO at predetermined intervals. Thus, while a singleprojectile carapace item IM can be fired from the player object PO whena carapace item I is used in a normal state, multiple projectilecarapace items IM can be continually fired from the player object PO inthe “fever state” caused by carapace items. In the “fever state,” aprojectile carapace item IM is continually fired at predeterminedintervals without performing a swipe operation for firing the item.Therefore, an item can be repeatedly used while controlling the movementdirection of the player object PO by a touch operation. Furthermore,while an item I can be used once for each possession frame HF in thenormal state, i.e., the same number of items I as the possession framesHF (e.g., three) can be used, an indefinite number of items (i.e.,greater than or equal to the number of possession frames HF, e.g., fouror more) can be continually used without being limited to the number ofpossession frames HF during the fever period in which the “fever state”caused by the same three items I is continued. Therefore, the feverstate is more advantageous to the user than in the normal state.

It should be noted that in the “fever state,” the direction of theprojectile item IM fired from the player object PO may be fixed to apredetermined direction (e.g., the direct forward direction of theplayer object PO), or may be fired in a random direction around theplayer object PO each time. When, in the “fever state,” the vector FDsatisfying the condition for firing the projectile item IM (i.e., thelength of the vector FD is greater than or equal to a predeterminedlength and the direction of the vector FD is within theforward-direction determination region UA or the backward-directiondetermination region LA) is set, the projectile item IM may be firedbased on the direction of the vector FD each time.

Thus, in the non-limiting example first item lottery process performedin the information processing system 1, at least one is selected fromitems I included in a plurality of possession frames and is used, andtherefore, an in-game effect can be obtained based on the type of theselected item I, and a possession frame in which that item I isdisplayed is changed to an empty frame E after the occurrence of thein-game effect. In addition, when the condition that all items Iincluded in the plurality of possession frames are the same item issatisfied in an item lottery, the above in-game effect can provide amore advantageous in-game effect.

It should be noted that in the non-limiting example, the player objectPO can acquire a new item I only if there is a possession frame HF thatis an empty frame E. Alternatively, even when there is no possessionframe HF that is an empty frame E, a new item I may be able to beacquired. In this case, even when there is no possession frame HF thatis an empty frame E, an item lottery can be performed, and thepossession frames HF in which an item I is being displayed are put intothe rotation lottery state. When an empty frame E and a frame in whichan item I is being displayed coexist among the possession frames HF, notonly the empty frame E but also the possession frame HF in which an itemI is being displayed may be put into the rotation lottery state in anitem lottery. When a possession frame HF in which an item I is beingdisplayed is put into the rotation lottery state and an item lottery isperformed, the possession frame HF may not be changed to an empty frameE after the item I is used.

Next, a non-limiting example of a second item lottery process that isperformed in the information processing system 1 will be outlined withreference to FIGS. 11 and 12 . In the non-limiting example second itemlottery process, an item lottery can be performed without opening anitem box IB provided in a race if a predetermined condition issatisfied. It should be noted that FIG. 11 is a diagram showing anon-limiting example game image displayed on the display unit 35 of theinformation processing apparatus 3. FIG. 12 is a diagram showing anon-limiting example game image displayed on the display unit 35 of theinformation processing apparatus 3.

As in FIGS. 4 and 5 , in FIG. 11 , the display unit 35 of theinformation processing apparatus 3 displays a game image correspondingto a game played in the information processing apparatus 3. As anon-limiting example, FIG. 15 shows a scene in which the player objectPO performs a racing game. For example, in the game, the player objectPO is sitting on and driving a cart on a course provided in a virtualworld. If a predetermined condition is satisfied when the player objectPO is traveling, an item lottery icon AB appears instead of thepossession frames HF.

The item lottery icon AB functions as an operation instruction buttonthat is selected and executed by the user's touch operation, and isdisplayed at or near the center of an upper portion of the displayscreen when the display unit 35 is being held in portrait position.Money amount information M that indicates the amount of virtual moneythat is consumed when the item lottery icon AB is selected and executedis provided near the item lottery icon AB. In the non-limiting exampleof FIG. 15 , the money amount information M indicates that when the itemlottery icon AB is used, a piece of star-shaped virtual money that canbe acquired by the user by payment is consumed. It should be noted thatthe item lottery icon AB and the money amount information M appear ifall the possession frames HF are an empty frame E, and do not appear ifthe number of times of use exceeds a limit (e.g., once a race) due toconsumption or if the user does not have enough virtual money to use theitem lottery icon AB. For example, when the item lottery icon AB is usedby a touch operation (e.g., a tap operation) on the item lottery icon ABdisplayed on the touch panel, an item lottery event for acquiring a newitem I is started. In other words, the item lottery icon AB is anoperation button that receives the user's instruction to perform alottery event for newly acquiring an item I, and an image that is usedby the user to give an instruction to perform control related to controlof an action of firing an item I that is performed based on theupward/downward component in the display screen of a swipe input to thetouch panel. It should be noted that the state in which the item lotteryicon AB does not appear may be such that the item lottery icon AB is notdisplayed on the display screen, or such that the item lottery icon ABmay be displayed grayed-out or translucent. Even in a state in which theitem lottery icon AB is not allowed to be selected, the item lotteryicon AB may be displayed on the display screen. In this case, even whenthe user performs an operation of selecting the item lottery icon AB,the item lottery icon AB provokes no response.

As shown in FIG. 12 , when the item lottery icon AB is used, thepossession frames HF appear instead of the item lottery icon AB and themoney amount information M. As in the non-limiting example first itemlottery process, a rotating display item IR indicating the rotationlottery display state is displayed in all the possession frames HF, andthereafter, an item I is displayed in a stationary state in each frame,indicating that the items I finally displayed in a stationary state havebeen acquired in a lottery.

Even in an item lottery triggered by using the item lottery icon AB,items I that are displayed in a stationary state in possession frames HFare finally acquired by the player object PO through the lottery, andafter the acquisition, the player object PO can use the acquired itemsone by one in a predetermined order using the above operation method.The player object PO can obtain an advantageous effect to progression ofthe game using the items I.

Even in an item lottery triggered by using the item lottery icon AB,when the same item I is finally displayed in all the possession framesHF through the lottery, the “fever state” is won and the player objectPO can obtain a more advantageous effect to progression of a race. As inthe non-limiting example first item lottery process, when the playerobject PO wins the “fever state,” an item causing the “fever state” canbe continually used only during a predetermined fever period.

Thus, in an item lottery triggered by using the item lottery icon AB, anew item I can be acquired or the “fever state” can be won, as in anitem lottery triggered by opening an item box IB provided on the course.Therefore, the user can start a new item lottery whenever the itemlottery icon AB appears, in addition to the situation where an item boxIB is placed on the course. It should be noted that an item lotterytriggered by using the item lottery icon AB and an item lotterytriggered by opening an item box IB may include more elements differenttherebetween.

As a first non-limiting example, a period of time for which an itemlottery triggered by using the item lottery icon AB is performed (arotation lottery event of an item I is performed) may be set shorterthan a period of time for which an item lottery triggered by opening anitem box IB is performed. As a result, when the item lottery icon AB isused, the time it takes for the player object PO to obtain an effectprovided by acquiring a new item I or winning the “fever state” can bereduced, and as a result, the player object PO can obtain anadvantageous effect earlier.

As a second non-limiting example, the probability of winning an itemlottery triggered by using the item lottery icon AB to get the “feverstate” may be set higher than the probability of winning an item lotterytriggered by opening an item box IB to get the “fever state.” As aresult, when the item lottery icon AB is used, the probability that theplayer object PO obtains an effect provided by the “fever state” isincreased, and therefore, the possibility that the player object PO canobtain an advantageous effect is increased. It should be noted that themagnitude of an increase in the probability of winning the “fever state”may be changed, depending on the amount of virtual money consumed whenthe item lottery icon AB is selected and executed. As a non-limitingexample, as the amount of virtual money consumed when the item lotteryicon AB is selected and executed increases, the probability may beincreased. In this case, as the number of times of selection andexecution of the item lottery icon AB in a race increases, the amount ofvirtual money consumed by the execution may be increased, and theprobability may be increased with an increase in the consumed virtualmoney amount. Compared to when an item lottery triggered by opening anitem box IB is won to get the “fever state,” the probability of winningusing an item having a higher effect may be increased when an itemlottery triggered by using the item lottery icon AB is won to get the“fever state.”

In the above non-limiting example game, when the item lottery icon AB isselected and executed, star-shaped virtual money is consumed.Alternatively, in-game coins that can be exchanged for star-shapedvirtual money in the purchase screen may be consumed upon the execution.Thus, even in the case where in-game coins are consumed when the itemlottery icon AB is selected and executed, after star-shaped virtualmoney is once exchanged for in-game coins, the item lottery icon AB canbe executed using the in-game coins. Therefore, it can be said thatstar-shaped virtual money can be used to execute the item lottery iconAB.

It should be noted that in the above non-limiting example, only when allthe possession frames HF are an empty frame E, the item lottery icon ABappears. Alternatively, the item lottery icon AB may appear even whennone of the possession frames HF is an empty frame E or when a portionof the possession frames HF are an empty frame E. In this case, evenwhen none of the possession frames HF is an empty frame E or when aportion of the possession frames HF are an empty frame E, an itemlottery can be triggered by selecting the item lottery icon AB, and apossession frame HF in which an item I is being displayed is also putinto the rotation lottery state. When an item lottery is performed byselecting the item lottery icon AB in a situation that an empty frame Eand a frame in which an item I is being displayed coexist among thepossession frames HF, the empty frame E as well as the possession frameHF in which an item I is being displayed may be put into the rotationlottery state.

In the above description, when the player object PO comes into contactwith an item box IB disposed on the course in a race, the player objectPO can obtain a temporary effect that is effective in that race by theuse of an item I. Alternatively, the temporary effect may be obtainedwithout such a contact with an item box IB. For example, instead of alottery event for a new item I that is triggered when the player objectPO comes into contact with an item box IB, a lottery event for a newitem I may be automatically performed at predetermined intervals. Inthis case, by selecting the item lottery icon AB, a new item I may beallowed to be acquired through a lottery even during the predeterminedinterval.

The number of possession frames HF may be changed, depending on the typeof the player object PO. As a non-limiting example, the number ofpossession frames HF may be changed, depending on a relationship betweenthe player object PO and a course on which the player object PO travels.Three possession frames HF may be displayed for a course having a goodrelationship with the player object PO, and one possession frame HF maybe displayed for a course having a bad relationship with the playerobject PO. When a gameplay is performed using a course for which asingle possession frame HF is displayed, the player object PO cansimultaneously have a smaller number of items I, and the “fever state”caused by all the possession frames HF having the same item I does notoccur, and therefore, the user is in a disadvantageous condition. Itshould be noted that even in the case where a course has a badrelationship and a single possession frame HF is displayed, threepossession frames HF may appear and a lottery event may be performed fornew items I when the item lottery icon AB is selected. In the case wherethe number of displayed possession frames HF is thus changed, dependingon the relationship between the player object PO and a course, the useris motivated to select the type of a player object PO to be used.

Next, a non-limiting example in which an operation is performed on thedisplay unit 35 in a second mode with the display unit 35 held inlandscape position will be described with reference to FIG. 13 . Itshould be noted that FIG. 13 is a diagram showing a non-limiting examplegame image displayed on the display unit 35 of the informationprocessing apparatus 3 during the landscape-hold operation in the secondmode.

As in the portrait-hold operation, the display unit 35 of theinformation processing apparatus 3 being held in landscape position alsodisplays a game image corresponding to a game that is played in theinformation processing apparatus 3. As a non-limiting example of such agame image, a scene in which the player object PO performs a racing gameis displayed. Here, when the user changes the display unit 35 fromportrait position to landscape position, the angle of view and distancefrom the gaze point of the virtual camera for displaying a game image onthe display unit 35 are changed to those for the landscape screen (anangle of view suitable for the aspect ratio of the display screen inlandscape position, and a distance suitable for the display size oflandscape display), depending on the orientation of the display unit 35with respect to the direction of gravity in real space. It should benoted that when it is determined based on the orientation of the displayunit 35 with respect to the direction of gravity in real space that thedisplay unit 35 is being held in landscape position, the displaydirection of an image displayed on the display unit 35 is changed suchthat the upward/downward direction of a game image captured by thevirtual camera corresponds to the shorter-axis direction of the displayunit 35, and the downward direction of the game image is closer to thedirection of gravity acting on the display unit 35 than is the upwarddirection of the game image.

For example, in this non-limiting example, it is determined whether theinformation processing apparatus 3 (the display unit 35) is being heldin portrait position or in landscape position, based on a gravitationalacceleration acting on the information processing apparatus 3 (thedisplay unit 35). Here, the information processing apparatus 3, whichincludes an inertial sensor (an acceleration sensor and/or an angularvelocity sensor) as described above, can calculate the direction of thegravitational acceleration acting on the information processingapparatus 3 (the display unit 35) using any appropriate technique basedon a result of detection by the inertial sensor (accelerations alongthree axial directions detected by the acceleration sensor and/orangular velocities about three axes detected by the angular velocitysensor). For example, if the direction of the gravitational accelerationacting on the display unit 35 is closer to the longer-axis directionthan to the shorter-axis direction of the display unit 35, it isdetermined that the information processing apparatus 3 (the display unit35) is being held in portrait position. If the direction of thegravitational acceleration acting on the display unit 35 is closer tothe shorter-axis direction than to the longer-axis direction of thedisplay unit 35, it is determined that the information processingapparatus 3 (the display unit 35) is being held in landscape position.

When the orientation of the information processing apparatus 3 (thedisplay unit 35) is changed from portrait position to landscapeposition, or from landscape position to portrait position, the angle ofview and distance from the gaze point of the virtual camera in thevirtual space are changed to those for the landscape screen, dependingon the changed direction. For example, when the information processingapparatus 3 (the display unit 35) is being held in portrait position,the angle of view and distance from the gaze point of the display unit35 are set to those for the portrait screen (an angle of view suitablefor the aspect ratio of the display screen in portrait position, and adistance suitable for the display size of portrait display). The displaydirection of an image displayed on the display unit 35 is set based onthe orientation of the display unit 35 with respect to the direction ofgravity in real space such that the upward/downward direction of a gameimage captured by the virtual camera is the longer-axis direction of thedisplay unit 35, and the downward direction of the game image is closerto the direction of gravity acting on the display unit 35 than is theupward direction. When the display unit 35 is changed from portraitposition to landscape position by being turned clockwise about the depthdirection of the display screen by 90° (roll rotation), the angle ofview and distance from the gaze point of the virtual camera are changedto those for the landscape screen. As a result, when the informationprocessing apparatus 3 (the display unit 35) is being held in landscapeposition, the display direction of a game image is set such that theshorter-axis direction of the display unit 35 is the upward/downwarddirection of the virtual space (more specifically, the shorter-axisdirection of the display unit 35, which is the downward direction inreal space, is the direction of gravity in the virtual space).

As shown in FIG. 13 , in the case of the second mode in which thedisplay unit 35 is operated in landscape position, a first region A1 anda second region A2, which do not overlap, are set in the touch region ofthe touch panel provided in the display unit 35. Specifically, the firstregion A1 is set in a touch region covering a left half of the displayscreen of the display unit 35 being held in landscape position. Thesecond region A2 is set in a touch region covering a right half of thedisplay screen of the display unit 35 being held in landscape position.The first region A1 and the second region A2 are adjacent to each otherwith a middle of the display screen interposed therebetween. In thesecond mode, the movement direction of the player object PO can becontrolled by performing a touch operation in the first region A1. Also,in the second mode, an action of the player object PO firing a possesseditem I can be controlled by performing a touch operation on the secondregion A2.

It should be noted that the touch region of the touch panel provided inthe display unit 35 may include a touch operation ineffective region inwhich neither the movement direction of the player object PO nor theaction of firing an item I is controlled. As a non-limiting example, inboth of the first mode in which the display unit 35 is operated inportrait position and the second mode in which the display unit 35 isoperated in landscape position, a predetermined upper region in thetouch region of display screen (e.g., an uppermost portion of the touchregion of the display screen that accounts for 17.5% of the displayscreen) may be set to the touch operation ineffective region, and when atouch position caused by a swipe operation enters the touch operationineffective region, the swipe operation may be made ineffective so thatneither the movement direction of the player object PO nor the action offiring an item I is controlled by that swipe operation. Thus, in both ofthe operation modes, by providing a touch operation ineffective regionin an upper touch region of the display screen, the user can be promptedto perform a touch operation using a lower touch region of the displayscreen, which is easy for the user to perform an operation. It should benoted that when a touch operation is performed in the touch operationineffective region, game controls other than the control of the movementdirection of the player object PO and the action of firing an item I maybe executed.

When a touch operation of swiping rightward in the first region A1 isperformed with reference to a left-side reference coordinate point(e.g., a left-side reference coordinate point RL0 where the first regionA1 is first touched) set in the first region A1 of the display unit 35being held in landscape position, the player object PO changes themovement direction to a rightward direction. When a touch operation ofswiping leftward in the first region A1 is performed with reference tothe left-side reference coordinate point set in the first region A1 ofthe display unit 35 being held in landscape position, the player objectPO changes the movement direction to a leftward direction. For example,FIG. 13 shows a left reference position RL indicating the left-sidereference coordinate point set in the first region A1, and a left-sidetouch position TL indicating the current touch position in the firstregion A1 (actually, no images of the left reference position and thecurrent left-side touch position are displayed on the display unit 35,and in FIG. 13 , the left reference position RL indicating the leftreference position and the left-side touch position TL indicating theleft-side touch position are each indicated by a dashed line for thesake of convenience). The left-side touch position TL is disposed to theleft of the left reference position RL, and therefore, the player objectPO changes the movement direction to a leftward direction. It should benoted that in the second mode, even when a touch operation of swipingthe upward/downward direction of the display unit 35 in the first regionA1 with reference to the left-side reference coordinate point in thefirst region A1, an action of firing an item I is not performed.Specifically, even if a swipe input to the first region A1 of thedisplay unit 35 being held in landscape position includes anupward/downward component, control of an action of firing an item I isnot performed, and the first region A1 serves as a region dedicated to atouch operation for changing the movement direction of the player objectPO according to a touch operation.

In the case of the display unit 35 being held in landscape position, amode change button IB for giving an instruction to perform controlrelated to movement of the player object PO is also displayed in thefirst region A1. Here, as in the first mode, the mode change button IBis an image indicating a touch region for selecting a movement (travel)mode of the player object PO corresponding to the touch operation ofswiping. The mode change button IB in the second mode is displayed at ornear the center of a lower portion of the first region A1 of the displayunit 35 being held in landscape position, and a circular region used fora touch operation in the first region A1 is displayed at the position ofthe mode change button IB, and a selectable travel mode (in the exampleof FIG. 13 , “drift”) is displayed in the circular region. Thus, themode change button IB in the second mode is moved to and displayed inthe first region A1, compared to the first mode. When an operation offirst touching and swiping is performed inside the circular regionindicated by the mode change button IB, the player object PO changes themovement direction to the swipe direction in a travel mode specified bythe mode change button IB as in the first mode. When an operation offirst touching and swiping is performed outside the circular regionindicated by the mode change button IB, the player object PO changes themovement direction to the swipe direction in a travel mode differentfrom that specified by the mode change button IB. It should be notedthat in the second mode, the travel mode that can be specified using themode change button IB may also be previously specified by the user'soperation. In the second mode, a plurality of mode change buttons IBindicating different travel modes may also be displayed in the firstregion A1.

It should be noted that a method and process of changing the movementdirection of the player object PO when a swipe input to the first regionA1 of the display unit 35 being held in landscape position is performedleftward or rightward are similar to those of the first mode as long asa touch operation is performed in the first region A1, and therefore,will not be described in detail. As with the reference coordinate pointRO in the first mode, the left-side reference coordinate point RL0 isset at a position where the first region A1 is first touched. As withthe reference coordinate point Rm that is set based on (e.g., following)the current touch position coordinate point T in the first mode, aleft-side reference coordinate point RLm is set, following the left-sidetouch position coordinate point TL in the first region A1. The left-sidereference coordinate point RL0 and the left-side reference coordinatepoint RLm are set in the first region A1 in a manner similar to that forthe reference coordinate point RO and the reference coordinate point Rmset in the first mode, and therefore, will not be described in detail.

Here, in the second mode, because the display unit 35 is turned by 90°roll rotation, the magnitude of the leftward/rightward component in thedisplay screen of a swipe input to the first region A1 of the displayunit 35 being held in landscape position, which is calculated for asteering operation, is the magnitude of a second-axis (longer-axis)direction component of the difference between the left-side referencecoordinate point set in the first region A1 (e.g., the left-sidereference coordinate point RL0 where the first region A1 is firsttouched), and the current left-side touch position coordinate point TLin a swipe operation performed, continuously following the initialtouch. It should be noted that in the second mode, the left-sidereference coordinate point for calculating the magnitude of theleftward/rightward component may also be the left-side referencecoordinate point RLm that is moved, following the current left-sidetouch position coordinate point TL. In that case, the magnitude of theleftward/rightward component of a swipe input to the first region A1 isthe magnitude of a second-axis (longer-axis) direction component of thedifference between the left-side reference coordinate point RLm that ismoved, following the current left-side touch position coordinate pointTL, and the current left-side touch position coordinate point TL in aswipe operation performed, continuously following the initial touch.

In the second mode, an action of the player object PO firing a possesseditem I can be controlled by performing a touch operation in the secondregion A2 of the display unit 35 being held in landscape position. Forexample, when a touch operation of swiping upward is performed in thesecond region A2 of the display unit 35 being held in landscapeposition, then if a ready-to-use item IP disposed at the ready-to-useposition of the player object PO is fireable, the item IP is fired as aprojectile item IM toward the front of the player object PO. Some typesof ready-to-use items IP (e.g., a banana item) disposed at theready-to-use position may be fired as a projectile item IM toward theback of the player object PO when a touch operation of swiping downwardis performed in the second region A2 of the display unit 35 being heldin landscape position.

An action of firing an item I is controlled according to theupward/downward component in the display screen of a swipe input to thesecond region A2 of the display unit 35 being held in landscape positionwith reference to a right-side reference coordinate point set in thesecond region A2. For example, FIG. 13 shows a right reference positionRR indicating the right-side reference coordinate point set in thesecond region A2, and a right-side touch position TR indicating thecurrent touch position in the second region A2 (actually, no images ofthe right reference position and the current right-side touch positionare displayed on the display unit 35, and in FIG. 13 , the rightreference position RR indicating the right reference position and theright-side touch position TR indicating the right-side touch positionare each indicated by a dashed line for the sake of convenience).Because the right-side touch position TR is disposed above the rightreference position RR by performing a swipe operation upward withrespect to the right reference position RR, a projectile item IM isfired toward the front of the player object PO. It should be noted thatin the second mode, even when a touch operation of swiping in the secondregion A2 in the leftward/rightward direction of the display unit 35with reference to the right-side reference coordinate point in thesecond region A2, the movement direction of the player object PO is notcontrolled. Thus, even when a swipe input to the second region A2 of thedisplay unit 35 being held in landscape position includes aleftward/rightward component, the movement direction of the playerobject PO is not controlled. The second region A2 serves as a touchoperation-only region for controlling the action of firing an item Iaccording to a touch operation.

The display unit 35 being held in landscape position also displays, inthe second region A2, an item lottery icon AB for giving an instructionto perform control related to control of an action of firing an item I.Here, the item lottery icon AB is an operation button that receives theuser's instruction to perform a lottery event for newly acquiring anitem I as in the first mode. In the second mode, the item lottery iconAB is displayed at or near the center of an upper portion of the secondregion A2 with the display unit 35 held in landscape position.Specifically, the item lottery icon AB in the second mode is moved toand displayed in the second region A2, compared to the first mode. Whenan operation of selecting the item lottery icon AB is performed, thepossession frames HF appear instead of the item lottery icon AB and themoney amount information M. A rotating display item IR indicating therotation lottery display state is displayed in all the possession framesHF, and thereafter, an item I is displayed in a stationary state in eachframe, indicating that the items I finally displayed in a stationarystate have been acquired in a lottery.

It should be noted that in the second mode, the item lottery method andthe method of using items are similar to those in the first mode, andtherefore, will not be described in detail. The method and process offiring an item I performed when an upward/downward swipe input to thesecond region A2 of the display unit 35 being held in landscape positionis performed, are similar to those in the first mode as long as a touchoperation is performed in the second region A2, and therefore, will notbe described in detail. As with the reference coordinate point RO in thefirst mode, a right-side reference coordinate point RR0 is set at aposition where the second region A2 is first touched. As with thereference coordinate point Rm set based on (e.g., following) the currenttouch position coordinate point T in the first mode, a right-sidereference coordinate point RRm is set, following the right-side touchposition coordinate point TR in the second region A2. The right-sidereference coordinate point RR0 and the right-side reference coordinatepoint RRm set in the second region A2 are set in a manner similar tothat for the reference coordinate point RO and the reference coordinatepoint Rm set in the first mode, and therefore, will not be described indetail.

Here, in the second mode, because the display unit 35 is turned by 90°roll rotation, the upward/downward component in the display screen of aswipe input to the second region A2 of the display unit 35 being held inlandscape position, which is calculated for control of firing of an itemI, is a first-axis (shorter-axis) direction component of the differencebetween the right-side reference coordinate point component set in thesecond region A2 (e.g., the right-side reference coordinate point RRmthat is moved, following the current right-side touch positioncoordinate point TR), and the current right-side touch positioncoordinate point TR in a swipe operation performed, continuouslyfollowing the initial touch. It should be noted that in the second mode,the right-side reference coordinate point for calculating theupward/downward component may be the right-side reference coordinatepoint RR0 where the second region A2 is first touched. In that case, theupward/downward component of a swipe input to the second region A2 is afirst-axis (shorter-axis) direction component of the difference betweenthe right-side reference coordinate point RR0 where the second region A2is first touched, and the current right-side touch position coordinatepoint TR in a swipe operation performed, continuously following theinitial touch.

In the second mode, the control of the movement direction of the playerobject PO and the control of firing of an item I can be performed inparallel. Specifically, in the second mode, the control of firing of anitem I can be performed based on a touch operation using the secondregion A2 of the display unit 35 being held in landscape position whilethe control of the movement direction of the player object PO isperformed based on a touch operation using the first region A1.Therefore, the user can cause a plurality of controls to simultaneouslyproceed while performing a multi-touch operation using fingers of theleft and right hands.

It should be noted that when in the second mode, a swipe operation isperformed across a border between the first region A1 and the secondregion A2, i.e., moved from one of the first region A1 and the secondregion A2 to the other, control using a touch operation in the oneregion is changed to control using a touch operation in the otherregion.

For example, if, when the control of the movement direction of theplayer object PO is being performed according to a swipe operation inthe first region A1, the touch coordinate point of the swipe operationenters the second region A2, various types of touch coordinate data (theleft-side reference coordinate data, the current left-side touch inputcoordinate data, the left-side touch history data, etc.) set in thefirst region A1 are cleared, and the control of the movement directionof the player object PO is changed to the control of firing of an item Iusing the swipe operation entering the second region A2. As anon-limiting example, if, when a touch operation is not being performedin the second region A2, a swipe operation entering from the firstregion A1 into the second region A2 is performed, the control of themovement direction of the player object PO is changed to the control offiring of an item I using the swipe operation entering the second regionA2, in which in turn, the right-side reference coordinate point RR0 isnewly set at a position where the second region A2 has entered, and anupward/downward component between a most recent touch input coordinatepoint TR in the second region A2 and the right-side reference coordinatepoint RR0 or the right-side reference coordinate point RRm is used. Asanother non-limiting example, if, when a touch operation is beingperformed in the second region A2, a swipe operation entering from thefirst region A1 into the second region A2 is performed, so that thereare two touch input coordinate points that are detected in the secondregion A2, the coordinate point that is a middle point between the twotouch input coordinate points is set as the most recent right-side touchinput coordinate point TR, and an upward/downward component between themost recent right-side touch input coordinate point TR and theright-side reference coordinate point RR0 or the right-side referencecoordinate point RRm set in the second region A2 is used in the controlof firing of an item I using the swipe operation entering the secondregion A2.

If, when the control of firing of an item I is being performed accordingto a swipe operation in the second region A2, the touch coordinate pointof the swipe operation enters the first region A1, various types oftouch coordinate data (the right-side reference coordinate data, thecurrent right-side touch input coordinate data, the right-side touchhistory data, etc.) set in the second region A2 are cleared, and thecontrol of firing of an item I is changed to the control of the movementdirection of the player object PO using the swipe operation entering thefirst region A1. As a non-limiting example, if, when a touch operationis not being performed in the first region A1, a swipe operationentering from the second region A2 into the first region A1 isperformed, the control of firing of an item I is changed to the controlof the movement direction of the player object PO using the swipeoperation entering the first region A1, in which in turn, a left-sidereference coordinate point RL0 is newly set at a position where theswipe operation has entered the first region A1, and aleftward/rightward component between the most recent touch inputcoordinate point TL in the first region A1 and the left-side referencecoordinate point RL0 or the left-side reference coordinate point RLm isused. As a non-limiting example, if, when a touch operation is beingperformed in the first region A1, a swipe operation entering from thesecond region A2 into the first region A1 is performed, so that thereare two touch input coordinate points that are detected in the firstregion A1, the coordinate point that is a middle point between the twotouch input coordinate points is set as the most recent left-side touchinput coordinate point TL, and a leftward/rightward component betweenthe most recent left-side touch input coordinate point TL and theleft-side reference coordinate point RL0 or the left-side referencecoordinate point RLm set in the first region A1 is used in the controlof the movement direction of the player object PO using the swipeoperation entering the first region A1.

Although in the above description, when a swipe operation enters fromone region into another region, various types of touch coordinate dataset in the region where the swipe operation has been previouslyperformed are cleared, the various types of touch coordinate data maynot be cleared. For example, in some travel modes selected by a swipeoperation (e.g., the player object PO is being drifting), when the touchcoordinate point enters the second region A2 due to the swipe operation,the control of firing of an item I may be performed according to theswipe operation entering the second region A2 while the various types oftouch coordinate data (the left-side reference coordinate data, thecurrent left-side touch input coordinate data, the left-side touchhistory data, etc.) set in the first region A1 are maintained while thetraveling of the player object PO in that travel mode is continued withthe leftward/rightward component caused by the swipe operation set tozero. In that case, when the swipe operation returns to a touch input tothe first region A1, the control of the movement direction of the playerobject PO is performed again using the various types of touch coordinatedata maintained in the first region A1.

Here, the first region A1 and the second region A2 set in the displayunit 35 being held in landscape position are arranged side by sidelaterally (the longer-axis direction of the display unit 35). Theleftward/rightward component (component in the longer-axis direction ofthe display unit 35) of a swipe operation performed in the first regionA1 is used in the control of the movement direction of the player objectPO, and the upward/downward component thereof is not used in the controlof the movement direction of the player object PO (e.g., steering wheelcontrol, drift control, etc.). The upward/downward component (componentin the shorter-axis direction of the display unit 35) of a swipeoperation performed in the second region A2 is used in the control offiring of an item I, and the leftward/rightward component thereof is notused in game control. Therefore, when the user, who intends to performgame control using the leftward/rightward component of a swipe operationin the first region A1, mistakenly starts a swipe operation in thesecond region A2 which is not intended by the user, it is thought thatthe swipe operation in the second region A2 which is not intended by theuser corresponds to a swipe operation toward the first region A1 thatgenerates a leftward/rightward component, and therefore, the control offiring of an item I is not performed by that swipe operation in thesecond region A2. Therefore, the game control by the swipe operation canbe immediately changed to that which is intended by the user, and anoperation object that is being changed is not changed to anotheroperation object during the swipe operation, and therefore, it ispossible to prevent confusion from occurring in operation results. Ifthe user, who intends to perform game control using the upward/downwardcomponent of a swipe operation in the second region A2, mistakenlystarts a swipe operation in the first region A1 which is not intended bythe user, the user can understand that the game control using theupward/downward component uses the second region A2, and therefore, evenwhen a touch operation is started in the first region A1 on the leftside of and not very far away from the center of the display screen, itis thought that the touch position is moved into the second region A2 onthe right side, and at that time, the controls to be performed arechanged, so that the control using the second region A2 can besubsequently performed without continuing the control using the firstregion A1.

Concerning the changing of the operation modes, in the control of themovement direction of the player object PO in the first mode used in theportrait-hold operation of the display unit 35, the first-axis(shorter-axis) direction component of the display unit 35 is used as theleftward/rightward component of a swipe input to the first region A1. Inthe control of firing of an item I in the second mode used in thelandscape-hold operation of the display unit 35, the first-axis(shorter-axis) direction component of the display unit 35 is used as theupward/downward component of a swipe input in the second region A2.Thus, the axis used as the leftward/rightward component of theportrait-hold operation of the display unit 35 is the same as the axisused as the upward/downward component of the landscape-hold operation ofthe display unit 35. Alternatively, these axes may be different. Also,concerning the changing of the operation modes, in the control of firingof an item I in the first mode used in the portrait-hold operation ofthe display unit 35, the second-axis (longer-axis) direction componentof the display unit 35 is used as the upward/downward component of aswipe input in the second region A2. In the control of the movementdirection of the player object PO in the second mode used in thelandscape-hold operation of the display unit 35, the second-axis(longer-axis) direction component of the display unit 35 is used as theleftward/rightward component of a swipe input to the first region A1.Thus, the axis used as the upward/downward component of theportrait-hold operation of the display unit 35 is the same as theleftward/rightward component of the landscape-hold operation of thedisplay unit 35. Alternatively, these axes may be different.

In the above non-limiting examples, operation modes are changed,depending on the orientation of the information processing apparatus 3(the display unit 35) in real space. Operation modes may be changed inother manners. As a non-limiting example, operation modes may be changedby the user selecting one from options indicating a plurality ofoperation modes. As another non-limiting example, operation modes may bechanged, depending on the number of touch operations on the touch panel.As a non-limiting example, when the number of touch operations on thetouch panel is one, the first mode may be selected, and when the numberof touch operations on the touch panel is two, the second mode may beselected.

An image for guiding the swipe operation may be displayed on the displayunit 35. In that case, a guide image may be displayed at a displayposition depending on a selected operation mode. For example, in thefirst mode in which the display unit 35 is operated in portraitposition, an image for guiding the user to change the movement directionof the player object PO by performing a swipe operation leftward orrightward, and an image for guiding the user to fire an item I byperforming a swipe operation upward or downward, may be displayed at ornear the center of a lower portion of the display screen. In the secondmode in which the display unit 35 is operated in landscape position, animage for guiding the user to change the movement direction of theplayer object PO by performing a swipe operation leftward or rightwardmay be displayed at or near the center of a lower portion of the firstregion A1, and an image for guiding the user to fire an item I byperforming a swipe operation upward or downward may be displayed at ornear the center of a lower portion of the second region A2.

A gap that is not included in the first region A1 or the second regionA2 of the touch region may be provided therebetween. In that case, whena touch operation caused by a swipe operation in the first region A1 orthe second region A2 enters the gap, various types of touch coordinatedata (the reference coordinate data, the current touch input coordinatedata, the touch history data, etc.) set in the first region A1 or thesecond region A2 may be cleared, and the control process by the swipeoperation may be canceled. When a swipe operation entering from the gapinto the first region A1 or the second region A2 is performed, a controlprocess may be started using the region which the swipe operation hasentered, using the position where the swipe operation has entered, as areference position.

Although in the above non-limiting example, a game process is performedusing the leftward/rightward component or upward/downward component of aswipe operation, other touch operation schemes may be used. For example,when touch is temporarily released from the touch panel during a swipeoperation, then if the touch operation is performed in the same region,the swipe operation may be dealt with as a single swipe operation, towhich the above process may be applied. In that case, various types oftouch coordinate data (the reference coordinate data, the current touchinput coordinate data, the touch history data, etc.) set in the firstregion A1 or the second region A2 may be maintained for a predeterminedperiod of time even if touch is released from the touch panel, and whenthe touch panel is first touched again, that touch coordinate data maybe used.

Although in the above non-limiting example, the movement direction ofthe player object PO is controlled according to the leftward/rightwardcomponent of a swipe operation, the movement direction of the playerobject PO may be able to be controlled by other operations in both ofthe first mode and the second mode. For example, the movement directionof the player object PO may be changed between the leftward directionand the rightward direction, depending on an operation of rolling theentire information processing apparatus 3 (display unit 35) clockwise oranticlockwise about the display screen depth direction. Such anoperation of changing the orientation of the entire informationprocessing apparatus 3 (display unit 35) can be detected by calculatingthe orientation of the entire information processing apparatus 3(display unit 35) with reference to the direction of gravity in realspace using an output of the inertial sensor 37, and the movementdirection of the player object PO can be controlled according to theangle of roll with reference to the direction of gravity.

Although in the above example, the two touch regions (the first regionA1 and the second region A2) are set by dividing the entire touch regionof the display unit 35 being held in landscape position into a leftregion and a right region, two touch regions may be set by dividing theentire touch region into an upper region and a lower region. Forexample, an upper half region of the entire touch region of the displayunit 35 may be set as a region in which a touch operation is performedby the user's right hand, and a lower half region of the entire touchregion may be set as a region in which a touch operation is performed bythe user's left hand, whereby touch operation regions suitable for theuser can be set.

Next, processes performed in the information processing apparatus 3 willbe described in detail. Firstly, main data used in processes performedin the information processing apparatus 3 will be described withreference to FIG. 14 . It should be noted that FIG. 14 is a diagramshowing non-limiting example main data and programs stored in thestorage unit 32 of the information processing apparatus 3.

As shown in FIG. 14 , the storage unit 32 stores, in a data storageregion, operation data Da, operation mode data Db, portrait-holdoperation data Dc, left-side operation data Dd, right-side operationdata De, steering wheel angle data Df, firing direction data Dg, playerobject action data Dh, opponent object action data Di, item positiondata Dj, and image data Dk, etc. It should be noted that the storageunit 32 stores, in addition to data contained in the information of FIG.14 , data required in processes such as data used in an executedapplication. The storage unit 32 also stores, in a program storageregion, various programs Pa including an information processing program(game program), etc.

The operation data Da indicates operation information about the user'soperation on the information processing apparatus 3. For example,operation data indicating an operation performed on the input unit 34including the touch panel is acquired at time intervals that are a unitprocess time (e.g., 1/60 sec) of the information processing apparatus 3,and the operation data Da is updated with the acquired operation data.In addition, operation data detected by the inertial sensor 37 when theinformation processing apparatus 3 (the display unit 35) is operated isacquired at intervals which are a unit processing time of theinformation processing apparatus 3, and is stored in the operation dataDa, i.e., the operation data Da is updated in response to theacquisition of that operation data.

The operation mode data Db indicates a set operation mode, specifically,whether the current operation mode is the first mode or the second mode.

The portrait-hold operation data Dc indicates details of an operationperformed when the display unit 35 is operated in portrait position(details of an operation in the first mode), including current touchinput coordinate data Dc1, touch path coordinate data Dc2, firstreference coordinate data Dc3, second reference coordinate data Dc4,leftward/rightward component data Dc5, input length data Dc6, inputvector data Dc7, and determination region data Dc8, etc.

The current touch input coordinate data Dc1 indicates the current touchposition coordinate point T of a touch operation at a current time onthe input unit 34 (touch panel) in the first mode. The touch pathcoordinate data Dc2 indicates the records (touch path coordinate points)of touch input coordinate points from the time when the touch panel isfirst touched to the current time. The first reference coordinate dataDc3 indicates a touch input coordinate point where the touch panel isfirst touched, and indicates a first reference coordinate point (thereference coordinate point RO) that is used to calculate theleftward/rightward component of a swipe input. The second referencecoordinate data Dc4 indicates a touch input coordinate point that moveson a touch path in a manner that satisfies a predetermined condition,and indicates a second reference coordinate point (the referencecoordinate point Rm) that is used to calculate the upward/downwardcomponent of a swipe input. It should be noted that as described above,the leftward/rightward component of a swipe input in the first mode maybe calculated with reference to the second reference coordinate pointRm.

The leftward/rightward component data Dc5 indicates theleftward/rightward component of a swipe input in the first mode.

The input length data Dc6 indicates the length of a path of touchpositions input in the first mode. The input vector data Dc7 indicates avector FD from the reference coordinate point Rm toward the currenttouch position coordinate point T.

The determination region data Dc8 indicates the determination regions UAand LA for determining the upward or downward direction of a swipeinput.

The left-side operation data Dd indicates details of an operationperformed using the first region A1 when the display unit 35 is operatedin landscape position (details of a touch operation in the first regionA1 in the second mode), including current left-side touch inputcoordinate data Dd1, left-side touch path coordinate data Dd2, left-sidefirst reference coordinate data Dd3, left-side second referencecoordinate data Dd4, leftward/rightward component data Dd5, andleft-side input length data Dd6, etc.

The current left-side touch input coordinate data Dd1 indicates thecurrent left-side touch position coordinate point TL at which a touchoperation is currently performed in the first region A1 of the inputunit 34 (touch panel) in the second mode. The left-side touch pathcoordinate data Dd2 indicates a history (touch path coordinate points)of touch input coordinate points in the first region A1 that occur fromwhen the first region A1 is first touched to the current time. Theleft-side first reference coordinate data Dd3 indicates a touch inputcoordinate point at which the first region A1 is first touched, andindicates a left-side reference coordinate point (the left-sidereference coordinate point RL0) for calculating the leftward/rightwardcomponent of a swipe input to the first region A1. The left-side secondreference coordinate data Dd4 indicates a touch input coordinate pointthat is moved on touch path coordinate points in the first region A1such that a predetermined condition is satisfied, and indicates aleft-side reference coordinate point (the left-side reference coordinatepoint RLm). It should be noted that as described above, theleftward/rightward component of a swipe input in the second mode may becalculated with reference to the left-side reference coordinate pointRLm.

The leftward/rightward component data Dd5 indicates theleftward/rightward component of a swipe input to the first region A1 inthe second mode.

The left-side input length data Dd6 indicates the length of a path oftouch positions input to the first region A1 in the second mode.

The right-side operation data De indicates details of an operationperformed using the second region A2 when the display unit 35 isoperated in landscape position (details of a touch operation in thesecond region A2 in the second mode), including current right-side touchinput coordinate data De1, right-side touch path coordinate data De2,right-side first reference coordinate data De3, right-side secondreference coordinate data De4, right-side input length data De5, inputvector data De6, and determination region data De1, etc.

The current right-side touch input coordinate data De1 indicates thecurrent right-side touch position coordinate point TR at which a touchoperation is currently performed in the second region A2 of the inputunit 34 (touch panel) in the second mode. The right-side touch pathcoordinate data De2 indicates a history (touch path coordinate points)of touch input coordinate points in the second region A2 that occur fromwhen the second region A2 is first touched to the current time. Theright-side first reference coordinate data De3 indicates a touch inputcoordinate point at which the second region A2 is first touched, andindicates a right-side reference coordinate point (the right-sidereference coordinate point RR0). The right-side second referencecoordinate data De4 indicates a touch input coordinate point that ismoved on touch path coordinate points in the second region A2 such thata predetermined condition is satisfied, and indicates a right-sidereference coordinate point (the right-side reference coordinate pointRRm) for calculating the upward/downward component of a swipe input tothe second region A2.

The right-side input length data De5 indicates the length of a path oftouch positions input to the second region A2 in the second mode.

The input vector data De6 indicates a vector FD from the right-sidereference coordinate point RRm toward the current right-side touchposition coordinate point TR.

The determination region data De1 indicates the determination regions UAand LA for determining the upward or downward direction of a swipe inputto the second region A2.

The steering wheel angle data Df indicates a steering wheel angle of theplayer object PO that is calculated based on the leftward/rightwardcomponent of a swipe input. The firing direction data Dg indicates thedirection of a projectile item IM fired by the player object PO.

The player object action data Dh indicates an action of the playerobject PO, and includes the position, speed, orientation, number oflaps, standing, etc., of the player object PO in a race. The opponentobject action data Di indicates an action of the opponent object EO, andincludes the position, speed, orientation, number of laps, standing,etc., of the opponent object EO in a race. The item position data Djindicates the position of an icon I (the ready-to-use item IP) disposedat the ready-to-use position and the position of a fired icon I (theprojectile item IM).

The image data Dk is data for displaying a game image (e.g., an image ofthe player object PO, an image of the opponent object EO, an image of anitem I, an image of a possession frame HF, an image of the item lotteryicon AB, an image of another virtual object, a field image of a course,etc., a background image, etc.) on the display unit 35 of theinformation processing apparatus 3 in the game.

Next, processes performed in the information processing apparatus 3 willbe described in detail with reference to FIGS. 15-18 . It should benoted that FIG. 15 is a flowchart showing a non-limiting example processexecuted in the information processing apparatus 3. FIG. 16 is asubroutine showing a detailed non-limiting example of a portrait-holdoperation determination process in step S105 of FIG. 15 . FIG. 17 is asubroutine showing a detailed non-limiting example of a left-sideoperation determination process in step S106 of FIG. 15 . FIG. 18 is asubroutine showing a detailed non-limiting example of a right-sideoperation determination process in step S107 of FIG. 15 . Here, of theprocesses of the information processing system 1 in the flowcharts ofFIGS. 15-18 , game processes involved in control of the player object POwill be mainly described as a non-limiting example, and other processesthat are not directly involved with these processes will not bedescribed in detail. In FIGS. 15-18 , each step executed by the controlunit 31 is abbreviated to “S.”

In the non-limiting example, steps shown in FIGS. 15-18 are performed bythe control unit 31 (CPU) executing a game program, etc., stored in theprogram storage unit 33. It should be noted that the processes of FIGS.15-18 are started with any appropriate timing. At this time, all or aportion of the game program is read from the storage unit 32 withappropriate timing, and is executed by the control unit 31. Thus, theprocesses of FIGS. 15-18 are started. It should be noted that the gameprogram is assumed to be previously stored in the program storage unit33. In another non-limiting example, the game program may be obtainedfrom a storage medium removably attached to the information processingapparatus 3, and stored in the storage unit 32, or may be obtained fromanother apparatus through a network, such as the Internet, and stored inthe storage unit 32.

The steps of the flowcharts of FIGS. 15-18 are merely illustrative, andif a similar result is obtained, the order in which the steps areperformed may be changed, and another step may be executed in additionto or instead of each step. Although, in the non-limiting example, it isassumed that each step of the flowcharts is executed by the control unit31, all or a portion of the steps of the flowcharts may be executed by aprocessor other than the CPU of the control unit 31 or a dedicatedcircuit.

In FIG. 15 , the control unit 31 sets initial settings (step S101), andproceeds to the next step. For example, the control unit 31 initiallysets parameters for use in the subsequent steps.

Next, the control unit 31 acquires operation data from the input unit 34and the inertial sensor 37, and updates the operation data Da (stepS102), and proceeds to the next step.

Next, the control unit 31 determines the operation mode by referring tothe operation data Da (step S103), and proceeds to the next step. Forexample, the control unit 31 calculates the direction of a gravitationalacceleration acting on the information processing apparatus 3 (thedisplay unit 35) using any appropriate method based on a detectionresult (accelerations along three axial directions detected by anacceleration sensor and/or angular velocities about three axes detectedby an angular velocity sensor) detected by the inertial sensor 37, whichis indicated by the operation data Da. If the direction of thegravitational acceleration acting on the display unit 35 is closer tothe longer-axis direction than to the shorter-axis direction of thedisplay unit 35, the control unit 31 determines that the informationprocessing apparatus 3 (the display unit 35) is being held in portraitposition, sets the operation mode to the first mode, and updates theoperation mode data Db. If the direction of the gravitationalacceleration acting on the display unit 35 is closer to the shorter-axisdirection than to the longer-axis direction of the display unit 35, thecontrol unit 31 determines that the information processing apparatus 3(the display unit 35) is being held in landscape position, sets theoperation mode to the second mode, and updates the operation mode dataDb.

Next, the control unit 31 determines whether or not the currentoperation mode is the first mode, by referring to the operation modedata Db (step S104). If the current operation mode is the first mode,the control unit 31 proceeds to step S105. Otherwise, i.e., if thecurrent operation mode is the second mode, the control unit 31 proceedsto step S106.

In step S105, the control unit 31 performs a portrait-hold operationdetermination process, and proceeds to step S108. The portrait-holdoperation determination process performed in step S105 will now bedescribed with reference to FIG. 16 .

In FIG. 16 , the control unit 31 updates a current touch positioncoordinate point based on the most recent operation data obtained instep S102 (step S121), and proceeds to the next step. For example, thecontrol unit 31 defines, in the display screen of the display unit 35, adisplay screen coordinate system in which an X-axis extending in theleftward/rightward direction of the display screen (the shorter-axisdirection of the display unit 35) (the rightward direction is thepositive direction of the X-axis) and a Y-axis extending in theupward/downward direction of the display screen (the longer-axisdirection of the display unit 35) (the upward direction is the positivedirection of the Y-axis) are set. The control unit 31 obtains, from themost recent operation data obtained in step S102, a touch inputcoordinate point in the display screen coordinate system at which atouch operation is being performed on the touch panel of the informationprocessing apparatus 3, as a current touch input coordinate point T, andupdates the current touch input coordinate data Dc1 using the currenttouch input coordinate point T. It should be noted that if the mostrecent operation data obtained in step S102 does not contain a touchinput coordinate point at which a touch operation is being performed onthe touch panel, the control unit 31 determines that the user hasreleased a touch from the touch panel, and updates the current touchinput coordinate data Dc1 using data indicating the release of a touch.

Next, the control unit 31 adds the current touch input coordinate pointT updated in step S121 to touch path coordinate points (step S122), andproceeds to the next step. For example, the control unit 31 adds thecurrent touch input coordinate point T updated in step S121 to touchpath coordinate points indicated by the touch path coordinate data Dc2,and updates the touch path coordinate data Dc2 using the touch pathcoordinate points after the addition. It should be noted that if thecurrent touch input coordinate data Dc1 indicates that a touch has beenreleased, the control unit 31 does not update the touch path coordinatedata Dc2, and proceeds to the next step.

Next, the control unit 31 determines whether or not the touch panel ofthe information processing apparatus 3 has been changed to a no-touchstate to an initial-touch state (step S123). Thereafter, if the touchpanel has been changed from the no-touch state to the initial-touchstate, the control unit 31 proceeds to step S124. Otherwise, i.e., ifthe touch panel has not been changed from the no-touch state to theinitial-touch state (e.g., the touch panel is not touched or a touchoperation is continued after an initial touch), the control unit 31proceeds to step S125.

In step S124, the control unit 31 sets a first reference coordinatepoint and a second reference coordinate point, and proceeds to stepS125. For example, the control unit 31 obtains the current touch inputcoordinate point T updated in step S121 by referring to the currenttouch input coordinate data Dc1, and sets the current touch inputcoordinate point T as a first reference coordinate point RO and a secondreference coordinate point Rm in the display screen coordinate system.Thereafter, the control unit 31 updates the first reference coordinatedata Dc3 using the set first reference coordinate point RO, and updatesthe second reference coordinate data Dc4 using the set second referencecoordinate point Rm.

In step S125, the control unit 31 calculates the leftward/rightwardcomponent of a swipe input to the touch panel, and proceeds to the nextstep. For example, the control unit 31 obtains the first referencecoordinate point RO(X0, Y0) and the current touch position coordinatepoint T(Xt, Yt) in the display screen coordinate system by referring tothe first reference coordinate data Dc3 and the current touch inputcoordinate data Dc1. Thereafter, the control unit 31 calculates Xt−X0 asthe magnitude of the leftward/rightward component (X-axis directioncomponent) in the display screen of the swipe input, and updates theleftward/rightward component data Dc5 using the calculated Xt−X0. Itshould be noted that in the case where the second reference coordinatepoint Rm is used to calculate the leftward/rightward component of aswipe input to the touch panel, the control unit 31 obtains the secondreference coordinate point Rm(Xm, Ym) and the current touch positioncoordinate point T(Xt, Yt) in the display screen coordinate system byreferring to the second reference coordinate data Dc4 and the currenttouch input coordinate data Dc1. Thereafter, the control unit 31calculates Xt−Xm as the magnitude of the leftward/rightward component(X-axis direction component) in the display screen of the swipe input,and updates the leftward/rightward component data Dc5 using thecalculated Xt−Xm.

Next, the control unit 31 calculates a steering wheel angle of theplayer object PO (step S126), and proceeds to the next step. Forexample, if the leftward/rightward component calculated in step S125 hasa positive value, the control unit 31 calculates a clockwise steeringwheel angle corresponding to the absolute value of theleftward/rightward component, and updates the steering wheel angle dataDf using the steering wheel angle. If the leftward/rightward componentcalculated in step S125 has a negative value, the control unit 31calculates an anticlockwise steering wheel angle corresponding to theabsolute value of the leftward/rightward component, and updates thesteering wheel angle data Df using the steering wheel angle. It shouldbe noted that when a touch is released from the touch panel, the controlunit 31 changes and returns the steering wheel angle to thestraight-ahead position at a predetermined rate, and updates thesteering wheel angle data Df.

Next, the control unit 31 calculates an input length between the secondreference coordinate point Rm and the current touch input coordinatepoint T (step S127), and proceeds to the next step. For example, thecontrol unit 31 calculates an input length along the touch input pathbetween the second reference coordinate point Rm and the current touchposition coordinate point T by referring to the current touch inputcoordinate data Dc1, the touch path coordinate data Dc2, and the secondreference coordinate data Dc4, and updates the input length data Dc6using the input length.

Next, the control unit 31 determines whether or not the input lengthcalculated in step S127 is greater than a predetermined threshold L(step S128). If the input length is greater than the predeterminedthreshold L, the control unit 31 proceeds to step S129. Otherwise, i.e.,if the input length is smaller than or equal to the predeterminedthreshold L, the control unit 31 proceeds to step S130.

In step S129, the control unit 31 moves the second reference coordinatepoint Rm such that the input length becomes smaller than or equal to thethreshold L, and proceeds to step S130. For example, in order to reducethe input length calculated in step S127 at a predetermined rate to alength smaller than or equal to the threshold L, the control unit 31sequentially deletes records of touch position coordinate points T thatare beyond the threshold L based on the predetermined rate, and afterthe deletion process, sets the position of the most previous touchposition coordinate point T as the second reference coordinate point Rm.As a result, the control unit 31 moves the second reference coordinatepoint Rm along the touch input path in the direction of the currenttouch position coordinate point T, and updates the second referencecoordinate data Dc4 using the moved second reference coordinate pointRm.

In step S130, the control unit 31 calculates the input vector FD, andproceeds to the next step. For example, the control unit 31 calculatesthe input vector FD from the second reference coordinate point Rm to thecurrent touch position coordinate point T in the display screencoordinate system by referring to the current touch input coordinatedata Dc1 and the second reference coordinate data Dc4, and updates theinput vector data Dc7 using the input vector PD.

Next, the control unit 31 determines whether or not the length of theinput vector PD is greater than or equal to a predetermined length andthe direction of the input vector FD is within a predetermineddetermination region (step S131). If the length of the input vector FDis greater than or equal to the predetermined length and the directionof the input vector FD is within the determination region, the controlunit 31 proceeds to step S132. Otherwise, i.e., if the length of theinput vector FD is not greater than or equal to the predetermined lengthor the direction of the input vector FD is not within the determinationregion, the control unit 31 deletes the firing direction indicated bythe firing direction data Dg, and proceeds to step S133. For example,the control unit 31 obtains the forward-direction determination regionUA that is a predetermined angle range around the positive direction ofthe Y-axis as a center thereof, and the backward-direction determinationregion LA that is a predetermined angle range around the negativedirection of the Y-axis as a center thereof, by referring to thedetermination region data Dc8. If the length of the input vector FDcalculated in step S130 is greater than or equal to the predeterminedlength, and the direction of the input vector FD is within theforward-direction determination region UA or the backward-directiondetermination region LA, the result of determination by the control unit31 in step S131 is positive.

In step S132, the control unit 31 sets the firing direction, andproceeds to step S133. For example, if the direction of the input vectorFD calculated in step S130 is within the forward-direction determinationregion UA, the control unit 31 sets the direct forward direction of theplayer object PO as the firing direction, and updates the firingdirection data Dg using the firing direction. If the direction of theinput vector FD calculated in step S130 is within the backward-directiondetermination region LA, the control unit 31 sets the direct backwarddirection of the player object PO as the firing direction, and updatesthe firing direction data Dg using the firing direction. It should benoted that the control unit 31 may set, as the firing direction, adirection that deviates from the direct forward direction or directbackward direction of the player object PO by the difference in anglebetween the Y-axis direction and the direction of the input vector FD.

In step S133, the control unit 31 determines whether or not the touchoperation performed on the touch panel of the information processingapparatus 3 has been changed to the no-touch state. If the touchoperation performed on the touch panel has been changed to the no-touchstate, the control unit 31 proceeds to step S134. Otherwise, i.e., ifthe touch operation performed on the touch panel has not been changed tothe no-touch state (e.g., a touch operation is not being continued aftera touch is released, the touch panel is first touched, and a touchoperation is being continued after the touch panel is first touched),the control unit 31 ends the process of the subroutine.

In step S134, the control unit 31 deletes the first reference coordinatepoint RO, the second reference coordinate point Rm, and the touch pathcoordinate points, and ends the process of the subroutine. For example,the control unit 31 deletes the first reference coordinate point ROindicated by the first reference coordinate data Dc3, the secondreference coordinate point Rm indicated by the second referencecoordinate data Dc4, and the touch path coordinate points indicated bythe touch path coordinate data Dc2.

Referring again to FIG. 15 , if it is determined in step S104 that thecurrent operation mode is the second mode, the control unit 31 performsa left-side operation determination process (step S106), and proceeds tostep S107. The left-side operation determination process performed instep S106 will now be described with reference to FIG. 17 .

In FIG. 17 , the control unit 31 updates a current left-side touchposition coordinate point based on the most recent operation dataobtained in step S102 (step S141), and proceeds to the next step. Forexample, the control unit 31 defines, in the display screen of thedisplay unit 35, a display screen coordinate system in which an X-axis(the leftward direction is the positive direction of the X-axis)extending in the leftward/rightward direction of the display screen (thelonger-axis direction of the display unit 35) and a Y-axis (the upwarddirection is the positive direction of the Y-axis) extending in theupward/downward direction of the display screen (the shorter-axisdirection of the display unit 35) are set. The control unit 31 obtains,from the most recent operation data obtained in step S102, a touch inputcoordinate point in the display screen coordinate system at which atouch operation is being performed in the first region A1, as a currentleft-side touch input coordinate point TL, and updates the currentleft-side touch input coordinate data Dd1 using the current left-sidetouch input coordinate point TL. It should be noted that if the mostrecent operation data obtained in step S102 contains two touch inputcoordinate points at which a touch operation is being performed in thefirst region A1, the control unit 31 designates a middle point betweenthe touch input coordinate points as the current left-side touch inputcoordinate point TL, and updates the current left-side touch inputcoordinate data Dd1. If the most recent operation data obtained in stepS102 does not contain a touch input coordinate point at which a touchoperation is being performed in the first region A1, the control unit 31determines that a touch has been released from the first region A1, andupdates the current left-side touch input coordinate data Dd1 using dataindicating the release of a touch.

Next, the control unit 31 adds the current left-side touch inputcoordinate point TL updated in step S141 to left-side touch pathcoordinate points (step S142), and proceeds to the next step. Forexample, the control unit 31 adds the current left-side touch inputcoordinate point TL updated in step S141 to left-side touch pathcoordinate points indicated by the left-side touch path coordinate dataDd2, and updates the left-side touch path coordinate data Dd2 using theleft-side touch path coordinate points after the addition. It should benoted that if the current left-side touch input coordinate data Dd1indicates that a touch has been released, the control unit 31 does notupdate the left-side touch path coordinate data Dd2, and proceeds to thenext step.

Next, the control unit 31 determines whether or not a touch operationhas been started in the first region A1 (step S143). For example, if thefirst region A1 has been first touched or a touch operation has beenperformed from the second region A2 to the first region A1 across aborder therebetween, the result of determination by the control unit 31in step S143 is positive. If a touch operation has been started in thefirst region A1, the control unit 31 proceeds to step S144. Otherwise,i.e., if a touch operation has not been started in the first region A1(e.g., a touch operation has not been performed in the first region A1or a touch operation is being continued in the first region A1), thecontrol unit 31 proceeds to step S145.

In step S144, the control unit 31 sets a left-side first referencecoordinate point and a left-side second reference coordinate point, andproceeds to step S125. For example, the control unit 31 obtains thecurrent left-side touch input coordinate point TL updated in step S141by referring to the current left-side touch input coordinate data Dd1,and sets the current left-side touch input coordinate point TL as theleft-side first reference coordinate point RL0 and the left-side secondreference coordinate point RLm in the display screen coordinate system.Thereafter, the control unit 31 updates the left-side first referencecoordinate data Dd3 using the set left-side first reference coordinatepoint RL0, and updates the left-side second reference coordinate dataDd4 using the set left-side second reference coordinate point RLm.

In step S145, the control unit 31 calculates the leftward/rightwardcomponent of a swipe input to the first region A1, and proceeds to thenext step. For example, the control unit 31 obtains a left-side firstreference coordinate point RL0(XL0, YL0) and a current left-side touchposition coordinate point TL(XtL, YtL) in the display screen coordinatesystem by referring to the left-side first reference coordinate data Dd3and the current left-side touch input coordinate data Dd1. Thereafter,the control unit 31 calculates XtL−XL0 as the magnitude of theleftward/rightward component (X-axis direction component) in the displayscreen of the swipe input, and updates the leftward/rightward componentdata Dd5 using the calculated XtL−XL0. It should be noted that in thecase where the left-side second reference coordinate point RLm is usedto calculate the leftward/rightward component of a swipe input to thetouch panel, the control unit 31 obtains a left-side second referencecoordinate point RLm(XLm, YLm) and a current touch position coordinatepoint T(XtL, YtL) in the display screen coordinate system by referringto the left-side second reference coordinate data Dd4 and the currentleft-side touch input coordinate data Dd1. Thereafter, the control unit31 calculates XtL−XLm as the magnitude of the leftward/rightwardcomponent (X-axis direction component) in the display screen of theswipe input, and updates the leftward/rightward component data Dd5 usingthe calculated XtL−XLm.

Next, the control unit 31 calculates a steering wheel angle of theplayer object PO (step S146), and proceeds to the next step. Forexample, if the leftward/rightward component calculated in step S145 hasa positive value, the control unit 31 calculates a clockwise steeringwheel angle corresponding to the absolute value of theleftward/rightward component, and updates the steering wheel angle dataDf using the steering wheel angle. If the leftward/rightward componentcalculated in step S125 has a negative value, the control unit 31calculates an anticlockwise steering wheel angle corresponding to theabsolute value of the leftward/rightward component, and updates thesteering wheel angle data Df using the steering wheel angle. It shouldbe noted that when a touch operation is not being performed in the firstregion A1, the control unit 31 changes and returns the steering wheelangle to the straight-ahead position at a predetermined rate, andupdates the steering wheel angle data Df.

Next, the control unit 31 calculates a left-side input length betweenthe left-side second reference coordinate point RLm and the currentleft-side touch input coordinate point TL (step S147), and proceeds tothe next step. For example, the control unit 31 calculates a left-sideinput length along the left-side touch input path between the left-sidesecond reference coordinate point RLm and the current left-side touchposition coordinate point TL by referring to the current left-side touchinput coordinate data Dd1, the left-side touch path coordinate data Dd2,and the left-side second reference coordinate data Dd4, and updates theleft-side input length data Dd6 using the left-side input length.

Next, the control unit 31 determines whether or not the left-side inputlength calculated in step S147 is greater than a predetermined thresholdL (step S148). If the left-side input length is greater than thepredetermined threshold L, the control unit 31 proceeds to step S149.Otherwise, i.e., if the left-side input length is smaller than or equalto the predetermined threshold L, the control unit 31 proceeds to stepS150.

In step S149, the control unit 31 moves the left-side second referencecoordinate point RLm such that the left-side input length becomessmaller than or equal to the threshold L, and proceeds to step S150. Forexample, in order to reduce the left-side input length calculated instep S157 at a predetermined rate to a length smaller than or equal tothe threshold L, the control unit 31 sequentially deletes records ofleft-side touch position coordinate points TL that are beyond thethreshold L based on the predetermined rate, and after the deletionprocess, sets the position of the most previous left-side touch positioncoordinate point TL as the left-side second reference coordinate pointRLm. As a result, the control unit 31 moves the left-side secondreference coordinate point RLm along the left-side touch input path inthe direction of the current left-side touch position coordinate pointTL, and updates the left-side second reference coordinate data Dd4 usingthe moved left-side second reference coordinate point RLm.

In step S150, the control unit 31 determines whether or not a touchoperation has been ended in the first region A1. For example, if a touchhas been released from the first region A1 or a touch operation has beenperformed from the first region A1 to the second region A2 across aborder therebetween, the result of determination by the control unit 31in step S150 is positive. If a touch operation has been ended in thefirst region A1, the control unit 31 proceeds to step S151. Otherwise,i.e., if a touch operation has not been ended in the first region A1(e.g., a touch operation is not being continued in the first region A1,or the first region A1 has been first touched, or a touch operation isbeing continued in the first region A1 after the first region A1 hasbeen first touched), the control unit 31 ends the subroutine.

In step S151, the control unit 31 deletes the left-side first referencecoordinate point RL0, the left-side second reference coordinate pointRLm, and the left-side touch path coordinate points, and ends thesubroutine. For example, the control unit 31 deletes the left-side firstreference coordinate point RL0 indicated by the left-side firstreference coordinate data Dd3, the left-side second reference coordinatepoint RLm indicated by the left-side second reference coordinate dataDd4, and the left-side touch path coordinate points indicated by theleft-side touch path coordinate data Dd2.

Referring again to FIG. 15 , after the left-side operation determinationprocess in step S106, the control unit 31 performs a right-sideoperation determination process (step S107), and proceeds to step S108.The right-side operation determination process performed in step S107will now be described with reference to FIG. 18 .

In FIG. 18 , the control unit 31 updates a current right-side touchposition coordinate point based on the most recent operation dataobtained in step S102 (step S161), and proceeds to the next step. Forexample, the control unit 31 obtains, from the most recent operationdata obtained in step S102, a touch input coordinate point in thedisplay screen coordinate system at which a touch operation is beingperformed in the second region A2, as a current right-side touch inputcoordinate point TR, and updates the current right-side touch inputcoordinate data De1 using the current right-side touch input coordinatepoint TR. It should be noted that if the most recent operation dataobtained in step S102 contains two touch input coordinate points atwhich a touch operation is being performed in the second region A2, thecontrol unit 31 designates a middle point between the touch inputcoordinate points as the current right-side touch input coordinate pointTR, and updates the current right-side touch input coordinate data De1.If the most recent operation data obtained in step S102 does not containa touch input coordinate point at which a touch operation is beingperformed in the second region A2, the control unit 31 determines that atouch has been released from the second region A2, and updates thecurrent right-side touch input coordinate data De1 using data indicatingthe release of a touch.

Next, the control unit 31 adds the current right-side touch inputcoordinate point TR updated in step S161 to right-side touch pathcoordinate points (step S142), and proceeds to the next step. Forexample, the control unit 31 adds the current right-side touch inputcoordinate point TR updated in step S161 to right-side touch pathcoordinate points indicated by the right-side touch path coordinate dataDe2, and updates the right-side touch path coordinate data De2 using theright-side touch path coordinate points after the addition. It should benoted that if the current right-side touch input coordinate data De1indicates that a touch has been released, the control unit 31 does notupdate the right-side touch path coordinate data De2, and proceeds tothe next step.

Next, the control unit 31 determines whether or not a touch operationhas been started in the second region A2 (step S163). For example, ifthe second region A2 has been first touched or a touch operation hasbeen performed from the first region A1 to the second region A2 across aborder therebetween, the result of determination by the control unit 31in step S163 is positive. If a touch operation has been started in thesecond region A2, the control unit 31 proceeds to step S164. Otherwise,i.e., if a touch operation has not been started in the second region A2(e.g., a touch operation has not been performed in the second region A2or a touch operation is being continued in the second region A2), thecontrol unit 31 proceeds to step S165.

In step S164, the control unit 31 sets a right-side first referencecoordinate point and a right-side second reference coordinate point, andproceeds to step S165. For example, the control unit 31 obtains thecurrent right-side touch input coordinate point TR updated in step S161by referring to the current right-side touch input coordinate data De1,and sets the current right-side touch input coordinate point TR as theright-side first reference coordinate point RR0 and the right-sidesecond reference coordinate point RRm in the display screen coordinatesystem. Thereafter, the control unit 31 updates the right-side firstreference coordinate data De3 using the set right-side first referencecoordinate point RR0, and updates the right-side second referencecoordinate data De4 using the set right-side second reference coordinatepoint RRm.

In step S165, the control unit 31 calculates a right-side input lengthbetween the right-side second reference coordinate point RRm and thecurrent right-side touch input coordinate point TR, and proceeds to thenext step. For example, the control unit 31 calculates a right-sideinput length along the right-side touch input path between theright-side second reference coordinate point RRm and the currentright-side touch position coordinate point TR by referring to thecurrent right-side touch input coordinate data De1, the right-side touchpath coordinate data De2, and the right-side second reference coordinatedata De4, and updates the right-side input length data De6 using theright-side input length.

Next, the control unit 31 determines whether or not the right-side inputlength calculated in step S165 is greater than a predetermined thresholdL (step S166). If the right-side input length is greater than thepredetermined threshold L, the control unit 31 proceeds to step S167.Otherwise, i.e., if the right-side input length is smaller than or equalto the predetermined threshold L, the control unit 31 proceeds to stepS168.

In step S167, the control unit 31 moves the right-side second referencecoordinate point RRm such that the right-side input length becomessmaller than or equal to the threshold L, and proceeds to step S168. Forexample, in order to reduce the right-side input length calculated instep S165 at a predetermined rate to a length smaller than or equal tothe threshold L, the control unit 31 sequentially deletes records ofright-side touch position coordinate points TR that are beyond thethreshold L based on the predetermined rate, and after the deletionprocess, sets the position of the most previous right-side touchposition coordinate point TR as the right-side second referencecoordinate point RRm. As a result, the control unit 31 moves theright-side second reference coordinate point RRm along the right-sidetouch input path in the direction of the current right-side touchposition coordinate point TR, and updates the right-side secondreference coordinate data De4 using the moved right-side secondreference coordinate point RRm.

In step S168, the control unit 31 calculates the input vector FD, andproceeds to the next step. For example, the control unit 31 calculatesthe input vector FD from the right-side second reference coordinatepoint RRm to the current right-side touch position coordinate point TRin the display screen coordinate system by referring to the currentright-side touch input coordinate data De1 and the right-side secondreference coordinate data De4, and updates the input vector data De6using the input vector FD.

Next, the control unit 31 determines whether or not the length of theinput vector PD is greater than or equal to a predetermined length andthe direction of the input vector FD is within a predetermineddetermination region (step S169). If the length of the input vector FDis greater than or equal to the predetermined length and the directionof the input vector FD is within the determination region, the controlunit 31 proceeds to step S170. Otherwise, i.e., if the length of theinput vector FD is not greater than or equal to the predetermined lengthor the direction of the input vector FD is not within the determinationregion, the control unit 31 deletes the firing direction indicated bythe firing direction data Dg, and proceeds to step S171. For example,the control unit 31 obtains the forward-direction determination regionUA that is a predetermined angle range around the positive direction ofthe Y-axis as a center thereof, and the backward-direction determinationregion LA that is a predetermined angle range around the negativedirection of the Y-axis as a center thereof, by referring to thedetermination region data De1. If the length of the input vector FDcalculated in step S168 is greater than or equal to the predeterminedlength, and the direction of the input vector FD is within theforward-direction determination region UA or the backward-directiondetermination region LA, the result of determination by the control unit31 in step S169 is positive.

In step S170, the control unit 31 sets the firing direction, andproceeds to step S171. For example, if the direction of the input vectorFD calculated in step S168 is within the forward-direction determinationregion UA, the control unit 31 sets the direct forward direction of theplayer object PO as the firing direction, and updates the firingdirection data Dg using the firing direction. If the direction of theinput vector FD calculated in step S168 is within the backward-directiondetermination region LA, the control unit 31 sets the direct backwarddirection of the player object PO as the firing direction, and updatesthe firing direction data Dg using the firing direction. It should benoted that the control unit 31 may set, as the firing direction, adirection that deviates from the direct forward direction or directbackward direction of the player object PO by the difference in anglebetween the Y-axis direction and the direction of the input vector PD.

In step S171, the control unit 31 determines whether or not a touchoperation has been ended in the second region A2. For example, if atouch has been released from the second region A2 or a touch operationhas been performed from the second region A2 to the first region A1across a border therebetween, the result of determination by the controlunit 31 in step S171 is positive. If a touch operation has been ended inthe second region A2, the control unit 31 proceeds to step S172.Otherwise, i.e., if a touch operation has not been ended in the secondregion A2 (e.g., a touch operation is not being continued in the secondregion A2, or the second region A2 has been first touched, or a touchoperation is being continued in the second region A2 after the secondregion A2 has been first touched), the control unit 31 ends thesubroutine.

In step S172, the control unit 31 deletes the right-side first referencecoordinate point RR0, the right-side second reference coordinate pointRRm, and the right-side touch path coordinates, and ends the subroutine.For example, the control unit 31 deletes the right-side first referencecoordinate point RR0 indicated by the right-side first referencecoordinate data De3, the right-side second reference coordinate pointRRm indicated by the right-side second reference coordinate data De4,and the right-side touch path coordinates indicated by the right-sidetouch path coordinate data De2.

Referring again to FIG. 15 , in step S108, the control unit 31 performsthe first item lottery process, and proceeds to the next step. Here, inthe first item lottery process, the control unit 31 causes the playerobject PO to acquire an item I by a lottery when a predeterminedcondition is satisfied, and to use the acquired item I, for example.

For example, as described above, in the first item lottery process, whenthe player object PO passes by or through an item box IB and therebyopens the item box IB, a lottery event for acquiring a new item I isperformed. In the case of some lottery result, the player object POacquires a new item I, and an event showing winning of the “fever state”is performed. The control unit 31 also performs a process of causing theplayer object PO to use a possessed item I. For example, if a firingdirection is set in the firing direction data Dg, and a fireable item Iis ready to use, the control unit 31 performs an item use process offiring and moving the item I as a projectile item IM from near theplayer object PO, and updates the player object action data Dh and theitem position data Dj.

It should be noted that in step S108, in the case where the item I isused, the control unit 31 may delete the firing direction indicated byfiring direction data Dg, and the second reference coordinate point Rmindicated by the second reference coordinate data Dc4 or the right-sidesecond reference coordinate point RRm indicated by the right-side secondreference coordinate data De4, or may maintain these data without anychange. In the former case, in order to use the item I again, it isnecessary to touch the touch panel again and perform a swipe operationin a direction in which the item I should be used. In the latter case,when the item I is ready to use, the item I is immediately used based onthe maintained firing direction and second reference coordinate point Rmor right-side second reference coordinate point RRm.

Next, the control unit 31 performs a second item lottery process (stepS109), and proceeds to the next step. Here, if a predetermined conditionfor the second item lottery process is satisfied, the control unit 31causes an item lottery icon AB to appear. When the item lottery icon ABis used, a process such as an item lottery process for obtaining a newitem I is performed, for example.

For example, as described above, in the second item lottery process, ifa predetermined condition is satisfied when the player object PO istraveling, the control unit 31 causes the item lottery icon AB to appearinstead of the possession frames HF. Here, in the case of the first modein which the display unit 35 is being held in portrait position, thecontrol unit 31 causes the item lottery icon AB to appear at or near thecenter of an upper portion of the display screen of the display unit 35(see FIG. 11 ). In the case of the second mode in which the display unit35 is being held in landscape position, the control unit 31 causes theitem lottery icon AB to appear at or near the center of an upper portionof the second region A2 of the display unit 35 (see FIG. 13 ). When theitem lottery icon AB is selected by the user's touch operation, thecontrol unit 31 performs an item lottery event for acquiring new item I,and causes the player object PO to acquire a new item I, depending onthe result of the lottery.

Next, the control unit 31 performs a process of setting a motion of theplayer object PO (step S110), and proceeds to the next step. Forexample, the control unit 31 sets the position and orientation of theplayer object PO, taking into consideration a steering wheel angleindicated by the steering wheel angle data Df and influences of othervirtual objects, or the like, and determines a motion, position,orientation, etc., of the player object PO, taking into consideration astate of the player object PO set in the player object motion data Dh,and updates the player object motion data Dh.

Next, the control unit 31 performs a process of setting an action of theopponent object EO (step S111), and proceeds to the next step. As anon-limiting example, in the case where the action of the opponentobject EO is controlled by the control unit 31, the control unit 31causes the opponent object EO to perform an action according to apredetermined algorithm, and updates opponent object data Di based onthe action. As another non-limiting example, in the case where theaction of the opponent object EO is controlled by the user of anotherinformation processing apparatus 3 that can be communicated with, thecontrol unit 31 causes the opponent object EO to perform an action basedon an operation performed by the user of the second informationprocessing apparatus 3, in a manner similar to that of the player objectPO, and updates the opponent object data Di based on the action.

Next, the control unit 31 performs a process of setting an action of anitem (step S112), and proceeds to the next step. For example, thecontrol unit 31 performs a process of moving the projectile item IM thathas been set for use and fired from the player object PO by the aboveprocess, based on the firing direction data Dg, and updates the itemposition data Di based on the position and orientation after themovement of the projectile item IM.

Next, the control unit 31 performs a display control process ofgenerating and displaying a display image on the display unit 35 (stepS113), and proceeds to the next step. For example, the control unit 31generates a display image corresponding to the result of a process ineach step, based on the player object action data Dh, the opponentobject data Di, and the item position data Dj, etc., and displaying thedisplay image on the display unit 35. The control unit 31 also moves theposition of the virtual camera for generating the display image based onthe position of the player object PO, and when the operation mode ischanged, changes the angle of view and distance from the gaze point ofthe virtual camera to those for the portrait screen or the landscapescreen based on the orientation of the display unit 35 with respect tothe direction of gravity in real space. It should be noted that when thedisplay unit 35 is being held in portrait position, the displaydirection of an image displayed on the display unit 35 is changed suchthat the upward/downward direction of the display image corresponds tothe longer-axis direction of the display unit 35, and the downwarddirection of the display image is closer to the direction of gravityacting on the display unit 35 than is the upward direction of thedisplay image. When the display unit 35 is being held in landscapeposition, the display direction of an image displayed on the displayunit 35 is changed such that the upward/downward direction of thedisplay image corresponds to the shorter-axis direction of the displayunit 35, and the downward direction of the display image is closer tothe direction of gravity acting on the display unit 35 than is theupward direction of the display image.

Next, the control unit 31 determines whether or not to end the gameprocess (step S114). A condition under which the game process is endedis, for example, that a condition for ending the game process issatisfied, that an operation for ending the game process has beenperformed by the user, etc. If the control unit 31 continues the gameprocess, the control unit 31 returns to and repeats step S102. If thecontrol unit 31 ends the game process, the control unit 31 ends theprocess of the flowchart.

Thus, in the information processing system 1 that performs the abovegame process, the movement direction of the player object PO can becontrolled by performing a touch operation leftward or rightward in bothof the first mode and the second mode, and the firing of an item I canbe controlled by performing a touch operation upward or downward in bothof the first mode and the second mode. Therefore, if an operation hasbeen learned in one of the two operation modes, an operation can beeasily performed in the other operation mode, and therefore, operationsin operation modes in which different operating methods are used can beeasily learned. In addition, in the information processing system 1 thatperforms the above game process, even when a touch operation is startedfrom an operation region that is not intended by the user (e.g., thesecond region A2), control is not performed by a touch operationperformed in that operation region, and is changed to control that isperformed by an operation using an operation region intended by the user(e.g., the first region A1), so that an operation object that is beingchanged is not changed to another operation object during the touchoperation, resulting in an improvement in the operability of touchoperations.

In the second mode, there are two separate regions, i.e., a region (thefirst region A1) for detecting the leftward/rightward component of aswipe operation as a steering operation, and a region (the second regionA2) for detecting the upward/downward component of a swipe operation asa firing operation. Even if an upward/downward component is detected inthe region for detecting a leftward/rightward component, theupward/downward component is not dealt with as a firing operation. Evenif a leftward/rightward component is detected in the region fordetecting an upward/downward component, the leftward/rightward componentis not dealt with as a steering operation. Therefore, incorrectoperations can be prevented, including a steering operation that isundeliberately performed due to detection of a leftward/rightwardcomponent of a touch operation when the touch operation is beingperformed and intended as a firing operation, and a firing operationthat is undeliberately performed due to detection of an upward/downwardcomponent of a touch operation when the touch operation is beingperformed and intended as a steering operation.

Although in the above example, the touch panel covering the displayscreen of the display unit 35 is used as a non-limiting example of theinput unit 34 for detecting a touch operation, other devices such as atouch pad may be used. As a non-limiting example, in the case where agame system is used in which an operation is performed using a separatecontroller while viewing a game image displayed on a stationary monitor,a touch operation may be performed using a touch pad included in thecontroller.

Although in the above example, the display direction of an imagedisplayed on the display unit 35 is changed by 90° when operation modesare changed, operation modes may be changed without changing of thedisplay direction of an image. Alternatively, even when the orientationof the display unit 35 is not changed in real space, operation modes maybe changed. As a non-limiting example, even when the display unit 35 isoperated in portrait position, the operation mode may be changed fromthe first mode to the second mode.

Although the information processing system 1 includes the server 200that can communicate with the information processing apparatus 3, theinformation processing apparatus 3 may perform the game process alonewithout connecting to the server 200. In particular, a racing game inwhich the user operates the player object PO can be executed withoutthrough the server 200, and therefore, can be carried out by an internalprocess of the information processing apparatus 3. In addition, even ina racing game in which a plurality of information processing apparatuses3 participate, the game process may be carried out by communicationbetween the information processing apparatuses 3 or between theinformation processing apparatuses 3 and other apparatuses withoutthrough the server 200. A portion of the process of performing a racinggame according to the user's operation of the player object PO may beexecuted by the server 200. As a result, processes in a plurality ofinformation processing apparatuses 3 can be managed by the server 200 ina centralized fashion.

In the foregoing, the information process and the communication processare performed in the information processing apparatus 3. Alternatively,at least a portion of the steps in the processes may be performed inanother apparatus. For example, steps in the processes may be executedin cooperation with the server 200 or another apparatus (e.g., anotherserver, another game apparatus, or another mobile terminal) that cancommunicate with the information processing apparatus 3. Thus, processessimilar to the above processes can be performed by the server 200 oranother apparatus performing a portion of the steps of the processes.The above processes may be executed by a single processor or a pluralityof cooperating processors included in an information processing systemincluding at least one information processing apparatus. In the abovenon-limiting example, the processes shown in the flowcharts areperformed by the control unit 31 of the information processing apparatus3 executing a predetermined program. Alternatively, all or a portion ofthe above processes may be performed by a dedicated circuit included inthe information processing apparatus 3.

Here, according to the above variation, this non-limiting example can beimplanted in a so-called cloud computing system form or distributedwide-area and local-area network system forms. For example, in adistributed local-area network system, the above processes can beexecuted by cooperation between a stationary information processingapparatus (stationary game apparatus) and a mobile informationprocessing apparatus (handheld game apparatus). It should be noted that,in these system forms, each of the above steps may be performed by anysuitable one of the apparatuses, and this non-limiting example may beimplemented by assigning the steps to the apparatuses in any suitablemanner.

The order of steps, setting values, conditions for determination, etc.,used in the above information process are merely for illustrativepurposes, and other order of steps, setting values, conditions fordetermination, etc., may be used to implement this non-limiting example.

The above information processing program may be supplied to theinformation processing apparatus 3 not only through an external storagemedium, such as an external memory, but also through a wired or wirelesscommunication line. The program may be previously stored in anon-volatile storage device in the information processing apparatus 3.Examples of an information storage medium storing the program mayinclude non-volatile memories, and in addition, CD-ROMs, DVDs, opticaldisk-shaped storage media similar thereto, and flexible disks, harddisks, magneto-optical disks, magnetic tapes, etc. The informationstorage medium storing the program may be a volatile memory storing theprogram. Such a storage medium may be said as a storage medium that canbe read by a computer, etc. For example, the above various functions canbe provided by causing a computer, etc., to read and execute programsfrom these storage media.

While several non-limiting example systems, methods, devices, andapparatuses have been described above in detail, the foregoingdescription is in all aspects illustrative and not restrictive. Itshould be understood that numerous other modifications and variationscan be devised without departing from the spirit and scope of theappended claims. It is, therefore, intended that the scope of thepresent technology is limited only by the appended claims andequivalents thereof. It should be understood that those skilled in theart could carry out the literal and equivalent scope of the appendedclaims based on the description of this non-limiting example embodimentand common technical knowledge. It should be understood throughout thepresent specification that expression of a singular form includes theconcept of their plurality unless otherwise mentioned. Specifically,articles or adjectives for a singular form (e.g., “a,” “an,” “the,”etc., in English) include the concept of their plurality unlessotherwise mentioned. It should also be understood that the terms as usedherein have definitions typically used in the art unless otherwisementioned. Thus, unless otherwise defined, all scientific and technicalterms have the same meanings as those generally used by those skilled inthe art to which this non-limiting example embodiment pertain. If thereis any inconsistency or conflict, the present specification (includingthe definitions) shall prevail.

As described above, this non-limiting example is useful for, forexample, information processing programs, information processingapparatuses, information processing systems, and information processingmethods, etc., for the purpose of improving operability in a touchoperation.

What is claimed is:
 1. A non-transitory computer-readable storage mediumhaving stored therein instructions that, when executed by a computer ofan information processing apparatus that controls a game using acoordinate input detected by a touch input device having a touch region,cause the computer to perform operations comprising: setting a firstregion and a second region in the touch region, wherein the first andsecond regions are arranged side by side in a first axial directionwithout overlapping each other; based on the coordinate input performedin the first region, setting a first region reference coordinate pointas a reference coordinate point in the first region; based on thecoordinate input performed in the second region, setting a second regionreference coordinate point as a reference coordinate point in the secondregion; determining a direction of a first control of the game based ona component in the first axial direction of a difference between thefirst region reference coordinate point and a coordinate point of thecoordinate input performed in the first region after the setting of thefirst region reference coordinate point; and determining a direction ofa second control of the game based on a component in a second axialdirection of a difference between the second region reference coordinatepoint and a coordinate point of the coordinate input performed in thesecond region after the setting of the second region referencecoordinate point, the second axial direction being different from thefirst axial direction, wherein when a given input is started in thesecond region and continues to be performed so that the given input iswithin the first region: a) the first region reference coordinate pointis set in the first region based on a corresponding coordinate point ofa coordinate input of the given input when in the first region, and b)performing, in connection with the given input, the first control forthe game by using the direction of the first control that is determined,wherein the component in the first axial direction of the given inputthat is in the second region is not used to perform the second control.2. The non-transitory computer-readable storage medium according toclaim 1, wherein the operations further comprise: adjusting the firstregion reference coordinate point or the second region referencecoordinate point to approach a coordinate point of the coordinate inputdetected by the touch input device based on to the distance between thecoordinate point of the coordinate input and the first region referencecoordinate point or second region reference coordinate point.
 3. Thenon-transitory computer-readable storage medium according to claim 1,wherein when the given input is started in the second region andcontinues to be performed so that the given input is within the firstregion, the first region reference coordinate point is set, to be acoordinate point at which the coordinate input has entered the firstregion.
 4. The non-transitory computer-readable storage medium accordingto claim 1, wherein the determination of the direction of the secondcontrol does not depend upon the component in the second axial directionof the difference between the first region reference coordinate pointand the coordinate point of the coordinate input performed in the firstregion after the setting of the first region reference coordinate point.5. The non-transitory computer-readable storage medium according toclaim 1, wherein the determination of the direction of the first controldoes not depend upon the component in the first axial direction of thedifference between the second region reference coordinate point and thecoordinate point of the coordinate input performed in the second regionafter the setting of the second region reference coordinate point. 6.The non-transitory computer-readable storage medium according to claim1, wherein while the first control is being performed based oncoordinate input being performed in the first region, the second controlis also performed based on coordinate input being concurrently performedin the second region.
 7. The non-transitory computer-readable storagemedium according to claim 1, wherein the touch input device has arectangular touch region having a first side and a second side, thefirst side being longer than the second side.
 8. The non-transitorycomputer-readable storage medium according to claim 7, wherein the firstaxial direction is parallel to the first side.
 9. The non-transitorycomputer-readable storage medium according to claim 8, wherein one halfregion in the first axial direction of the touch region is set as thefirst region, and the other half region in the first axial direction ofthe touch region is set as the second region.
 10. The non-transitorycomputer-readable storage medium according to claim 1, wherein the firstcontrol moves a character object disposed in the virtual space.
 11. Thenon-transitory computer-readable storage medium according to claim 1,wherein the second control triggers or causes another object to movefrom a character object disposed in the virtual space.
 12. Aninformation processing apparatus for controlling a game using acoordinate input detected by a touch input device having a touch region,the apparatus comprising a computer that executes at least: setting afirst region and a second region in the touch region, wherein the firstand second regions are arranged side by side in a first axial directionwithout overlapping each other; based on the coordinate input performedin the first region, setting a first region reference coordinate pointas a reference coordinate point in the first regions; based on thecoordinate input performed in the second region, setting a second regionreference coordinate point as a reference coordinate point in the secondregion; determining a direction of a first control of the game based ona component in the first axial direction of a difference between thefirst region reference coordinate point and a coordinate point of thecoordinate input performed in the first region after the setting of thefirst region reference coordinate point; and determining a direction ofa second control of the game based on a component in a second axialdirection of a difference between the second region reference coordinatepoint and a coordinate point of the coordinate input performed in thesecond region after the setting of the second region referencecoordinate point the second axial direction being different from thefirst axial direction, wherein when a given input is started in thesecond region and continues to be performed so that the given input iswithin the first region: a) the first region reference coordinate pointis set in the first region based on a corresponding coordinate point ofa coordinate input of the given input when in the first region, and b)performing, in connection with the given input, the first control forthe game by using the direction of the first control that is determined,wherein the component in the first axial direction of the given inputthat is in the second region is not used to perform the second control.13. An information processing system for controlling a game using acoordinate input detected by a touch input device having a touch region,the system comprising a computer that executes at least: setting a firstregion and a second region in the touch region, wherein the first andsecond regions are arranged side by side in a first axial directionwithout overlapping each other; based on the coordinate input performedin the first region, setting a first region reference coordinate pointas a reference coordinate point in the first region based on thecoordinate input performed in the second region, setting a second regionreference coordinate point as a reference coordinate point in the secondregion; determining a direction of a first control of the game based ona component in the first axial direction of a difference between thefirst region reference coordinate point and a coordinate point of thecoordinate input performed in the first region after the setting of thefirst region reference coordinate point; and determining a direction ofa second control of the game based on a component in a second axialdirection of a difference between the second region reference coordinatepoint and a coordinate point of the coordinate input performed in thesecond region after the setting of the second region referencecoordinate point, the second axial direction being different from thefirst axial direction, wherein when a given input is started in thesecond region and continues to be performed so that the given input iswithin the first region: a) the first region reference coordinate pointis set in the first region based on a corresponding coordinate point ofa coordinate input of the given input when in the first region, and b)performing, in connection with the given input, the first control forthe game by using the direction of the first control that is determined,wherein the component in the first axial direction of the given inputthat is in the second region is not used to perform the second control.14. An information processing method for controlling a game using acoordinate input detected by a touch input device having a touch region,the method comprising: setting a first region and a second region in thetouch region, wherein the first and second regions are arranged side byside in a first axial direction without overlapping each other; based onthe coordinate input performed in the first region, setting a firstregion reference coordinate point as a reference coordinate point in thefirst region; based on the coordinate input performed in the secondregion, setting a second region reference coordinate point as areference coordinate point in the second region; determining a directionof a first control of the game based on a component in the first axialdirection of a difference between the first region reference coordinatepoint and a coordinate point of the coordinate input performed in thefirst region after the setting of the first region reference coordinatepoint; and determining a direction of a second control of the game basedon a component in a second axial direction of a difference between thesecond region reference coordinate point and a coordinate point of thecoordinate input performed in the second region after the setting of thesecond region reference coordinate point, the second axial directionbeing different from the first axial direction, wherein when a giveninput is started in the second region and continues to be performed sothat the given input is within the first region: a) the first regionreference coordinate point is set in the first region based on acorresponding coordinate point of a coordinate input of the given inputwhen in the first region; and b) performing, in connection with thegiven input, the first control for the game by using the direction ofthe first control that is determined, wherein the component in the firstaxial direction of the given input that is in the second region is notused to perform the second control.